[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Управление циклом
NitroGenerate
Всем привет. Очередной раз прошу помощи знающих людей.
на этот раз проблема с циклом
У меня есть логи пользователя.
Пользователь за день делает какие-то действия, или не делает их совсем.
Если делает то
записываем в массив
$arr[$day]["deystv1"]=
$arr[$day]["deystv22"]=
В конце получаем месячный массив:
$arr[1] = array("deystv1" =>2312, "deystv2" =>sdsds );
$arr[3] = array("deystv1" =>23ssadas2, "deystv2" =>sds );
$arr[4] = array("deystv1" =>23xxc12, "deystv2" =>saadsds );
$arr[7] = array("deystv1" =>231czza2, "deystv2" =>scc3sds );


потом перебираю его:
while($ind <= $day)
{
echo $arr[$day]["deystv1"];
$ind++;
}

и случается так, что в 5ый день пользователь не сделал никаких действий, но день то я вывожу, соответственно вылазиет "Undefined offset:".
Решил проверить на существование вставил в цикл if(isset($arr[$day]["deystv1"]))
Проверка не работает.
И сейчас я в тупике.
По мне есть 2 варианта развития:
1. найти как сделать нормальную проверку на наличие.
2. Перебрать цикл нормально, пропуская пустые дни.
Но ни на один из двух вопросов ответа не знаю. =(



Спустя 7 минут, 53 секунды (6.03.2012 - 13:06) Visman написал(а):
if(isset($arr[$day]["deystv1"]))

-->
if(!empty($arr[$day]['deystv1']))

Спустя 26 минут, 38 секунд (6.03.2012 - 13:32) NitroGenerate написал(а):
А если $arr[$day]["deystv1"]==0 ? (запись есть, и равна она 0, то сработает empty) не вариант.
Но проблему я решил:
при создании массива дописал:
$arr[1] = array("deystv1" =>2312, "deystv2" =>sdsds,  "check" =>1);

И дальше:
if(@empty($arr[$day]['check']==1){
...
}

Спустя 3 минуты, 16 секунд (6.03.2012 - 13:36) Visman написал(а):
if(@empty($arr[$day]['check']==1){

-->
if(!empty($arr[$day]['check'])){

Спустя 12 минут, 1 секунда (6.03.2012 - 13:48) killer8080 написал(а):
Цитата (NitroGenerate @ 6.03.2012 - 11:58)
По мне есть 2 варианта развития:

нет, только один - перебирать массив циклом foreach smile.gif

Спустя 2 минуты, 31 секунда (6.03.2012 - 13:50) Visman написал(а):
killer8080, второй вариант не потребовался tongue.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.