Страница 1 из 1
Помогите правильно записать условия
Добавлено: 25 окт 2012, 20:26
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.
Думаю понятно объяснил суть идеи
Не ругайтесь, если ошибки ламмерские. Я - новичок
Re: Помогите правильно записать условия
Добавлено: 25 окт 2012, 21:20
Serge
Вам надо бы почитать про программирование. Совсем беда...
Не получится записать условия таким методом. Можно, к примеру, брать целое от деления count на 1000, прибавлять 1, и в цикле создавать элементы массива (в формате $array = ...)
А с рандомным числом - ну то же самое, сначала надо проверять условие, а потом выполнять действие, а не наоборот.
Re: Помогите правильно записать условия
Добавлено: 25 окт 2012, 21:49
wierusna
Serge писал(а):Вам надо бы почитать про программирование. Совсем беда...
Не получится записать условия таким методом. Можно, к примеру, брать целое от деления count на 1000, прибавлять 1, и в цикле создавать элементы массива (в формате $array = ...)
А с рандомным числом - ну то же самое, сначала надо проверять условие, а потом выполнять действие, а не наоборот.
Можно код увидеть? От чтения всяких статей уже глаза кровью истекают, если честно. Там все таким языком описано, что нужно для начала понять, ЧТО В ОБЩЕ ОНИ ХОТЯТ донести до меня...
На готовом примере учиться легче, да и запоминается лучше. Можно сравнивать - что было у меня и что не так....ага тут так и так нужно.
Re: Помогите правильно записать условия
Добавлено: 25 окт 2012, 22:43
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;
Мог накосячить, писал прямо в форме сообщения. Ну и не до конца понял, что же Вы хотите сделать.
Re: Помогите правильно записать условия
Добавлено: 25 окт 2012, 23:10
wierusna
Serge писал(а):
Мог накосячить, писал прямо в форме сообщения. Ну и не до конца понял, что же Вы хотите сделать.
PHP файл "парсит" IDишники с виджета МНЕ НРАВИТСЯ вконтакте в 3 запроса (но может и больше, зависит от того, сколько людей РАССКАЗАЛИ ДРУЗЬЯМ. Думаю больше 3000 не наберется).
Из каждого запроса (по 1000 идишников) рандомно выбирает один. В итоге у нас получается 3 идишника. Из этих 3х ИДишников выбирается 1 и пишется в БД. Своего рода лотерея....
Re: Помогите правильно записать условия
Добавлено: 27 окт 2012, 17:01
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);
Все ровно не правильно составлено? Выдает ошибку((( Ведь логически все правильно .....я не понимаю.
Код: Выделить всё
$proverka_rand = if(isset($filebase2[1])){ /* Проверяет существует ли вторая база*/ if(isset($filebase2[2])){ /*если вторая существует, проверяет существует ли третья база*/ "2";} /*если третья база существует, подставляет двойку*/ else{ "1";} /*если третья база не существует, подставляет единицу*/ else{ "0";} /*если не существуют вторая база и третья база, подставляет ноль*/} $finish_rand=rand(0,$proverka_rand)echo $finish_rand;
Re: Помогите правильно записать условия
Добавлено: 29 окт 2012, 13:21
Serge
wierusna писал(а):...
Вам где-то отвечали, что значение count может отличатся от реальной длинны массива.