Помогите правильно записать условия

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Помогите правильно записать условия

Сообщение wierusna »

Есть код

Код: Выделить всё

 $filebase=array(0=>$resp['response']['users'][$sub],  if ($resp['response']['count'] >= 1000){1=>$resp2['response']['users'][$sub2],} if ($resp['response']['count'] >= 2000){2=>$resp3['response']['users'][$sub3]});
Выдает ошибку Parse error: syntax error, unexpected '.', expecting ')' in /путь до файла/файл.php on line 124
Как правильно записать условия в array?




И еще тут проблема
Ошибка такая Parse error: syntax error, unexpected T_IF in /путь до файла/файл.php on line 133

Код: Выделить всё

$finish_rand=rand(0,if(isset($filebase[1])){if(isset($filebase[2])){"2";}else{ "1";}}else{"0";}echo $finish_rand;
Тут должно определиться рандомное число. Если массив 1 существует, но не существует 2, значит рандомное число будет определено из 0,1. Если же массив 2 существует, то рандомное число будет определено из 0,2. Если же не существуют оба массива (1 и 2), то рандомное число будет определено из 0,0 то есть = 0.

Думаю понятно объяснил суть идеи :roll:
Не ругайтесь, если ошибки ламмерские. Я - новичок
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Помогите правильно записать условия

Сообщение Serge »

Вам надо бы почитать про программирование. Совсем беда...
Не получится записать условия таким методом. Можно, к примеру, брать целое от деления count на 1000, прибавлять 1, и в цикле создавать элементы массива (в формате $array = ...)
А с рандомным числом - ну то же самое, сначала надо проверять условие, а потом выполнять действие, а не наоборот.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: Помогите правильно записать условия

Сообщение wierusna »

Serge писал(а):Вам надо бы почитать про программирование. Совсем беда...
Не получится записать условия таким методом. Можно, к примеру, брать целое от деления count на 1000, прибавлять 1, и в цикле создавать элементы массива (в формате $array = ...)
А с рандомным числом - ну то же самое, сначала надо проверять условие, а потом выполнять действие, а не наоборот.

Можно код увидеть? От чтения всяких статей уже глаза кровью истекают, если честно. Там все таким языком описано, что нужно для начала понять, ЧТО В ОБЩЕ ОНИ ХОТЯТ донести до меня...
На готовом примере учиться легче, да и запоминается лучше. Можно сравнивать - что было у меня и что не так....ага тут так и так нужно.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Помогите правильно записать условия

Сообщение Serge »

wierusna писал(а):
Serge писал(а):Вам надо бы почитать про программирование. Совсем беда...
Не получится записать условия таким методом. Можно, к примеру, брать целое от деления count на 1000, прибавлять 1, и в цикле создавать элементы массива (в формате $array = ...)
А с рандомным числом - ну то же самое, сначала надо проверять условие, а потом выполнять действие, а не наоборот.

Можно код увидеть? От чтения всяких статей уже глаза кровью истекают, если честно. Там все таким языком описано, что нужно для начала понять, ЧТО В ОБЩЕ ОНИ ХОТЯТ донести до меня...
На готовом примере учиться легче, да и запоминается лучше. Можно сравнивать - что было у меня и что не так....ага тут так и так нужно.

Тут не сравнивать нужно, а читать, что такое операторы, и как их правильно использовать.

Код: Выделить всё

 for($i=0; $i <= ceil($resp['response']['count']/1000); $i++){    $filebase[$i] = $resp['response']['users'][$i];} 
Только тут учесть надо, что вместо Ваших $sub, $sub2 я вставил $i. Без остатка кода - не понятно, что там должно быть.

Код: Выделить всё

 if(isset($filebase[1]) && isset($filebase[2]))  $finish_rand = 0;else if(isset($filebase[1]))  $finish_rand = rand(0,1);else  $finish_rand = rand(0,2);echo $finish_rand;
Мог накосячить, писал прямо в форме сообщения. Ну и не до конца понял, что же Вы хотите сделать.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: Помогите правильно записать условия

Сообщение wierusna »

Serge писал(а): Мог накосячить, писал прямо в форме сообщения. Ну и не до конца понял, что же Вы хотите сделать.
PHP файл "парсит" IDишники с виджета МНЕ НРАВИТСЯ вконтакте в 3 запроса (но может и больше, зависит от того, сколько людей РАССКАЗАЛИ ДРУЗЬЯМ. Думаю больше 3000 не наберется).
Из каждого запроса (по 1000 идишников) рандомно выбирает один. В итоге у нас получается 3 идишника. Из этих 3х ИДишников выбирается 1 и пишется в БД. Своего рода лотерея....
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: Помогите правильно записать условия

Сообщение wierusna »

Serge
Почему то выдает $i = 4. На данный момент count равен 2410.
Соответственно echo $finish_rand; выдает 0

Вот запрос с которым нужно работать.

Код: Выделить всё

 $res = file_get_contents('https://api.vk.com/method/likes.getList?type=post&owner_id=-23148107&item_id=1577222&count=1000&offset=0&filter=copies');    $resp = json_decode($res, true);
Все ровно не правильно составлено? Выдает ошибку((( Ведь логически все правильно .....я не понимаю. :oops:

Код: Выделить всё

$proverka_rand = if(isset($filebase2[1])){  /* Проверяет существует ли вторая база*/    if(isset($filebase2[2])){   /*если вторая существует, проверяет существует ли третья база*/    "2";}   /*если третья база существует, подставляет двойку*/    else{       "1";}   /*если третья база не существует, подставляет единицу*/    else{      "0";}   /*если не существуют вторая база и третья база, подставляет ноль*/}   $finish_rand=rand(0,$proverka_rand)echo $finish_rand;  
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Помогите правильно записать условия

Сообщение Serge »

wierusna писал(а):...
Вам где-то отвечали, что значение count может отличатся от реальной длинны массива.
Ответить