Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Управление циклом
NitroGenerate  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 243
Пользователь №: 27946
На форуме: 6 лет, 3 дня
Карма: 11




Всем привет. Очередной раз прошу помощи знающих людей.
на этот раз проблема с циклом
У меня есть логи пользователя.
Пользователь за день делает какие-то действия, или не делает их совсем.
Если делает то
записываем в массив
$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

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса