подскажите по циклу, что в нем не так ??

Тема в разделе "Как сделать...", создана пользователем yurets86, 27 янв 2014.

  1. yurets86

    yurets86 Постоялец

    Заблокирован
    Регистр.:
    25 сен 2011
    Сообщения:
    135
    Симпатии:
    32
    есть такой код
    Код:
    <?php foreach ($chart_arr as $sk => $sr) { ?>
            <tr>
                <?php foreach ($sr as $ck => $cr) { ?>
            <td>
                <?php if (count($cr[$inventory['barcode']]) != 0){ ?>
                        <?php echo $ck; ?>
                    <?php } else { ?>
                        <?php echo ' + ' ?>
                    <?php } ?>
                </td>
                <?php } ?>
            </tr>
            <?php } ?>
    мне кидает ошибку, что нет "Notice: Undefined index: barcode" , хотя проверяю переменную $inventory - в ней есть этот индекс ..
     
  2. StrikeOFF

    StrikeOFF ♥kan inte lyfta utan lift♥

    Регистр.:
    20 мар 2010
    Сообщения:
    363
    Симпатии:
    204
    <?php echo ' + ' ?> ну вот тут например точки с запятой нету <?php echo ' + '; ?>
    Но нотис - это ведь не критическая ошибка
     
  3. yurets86

    yurets86 Постоялец

    Заблокирован
    Регистр.:
    25 сен 2011
    Сообщения:
    135
    Симпатии:
    32
    это я когда писал тут, случайно удалил )) в коде есть точка с запятой, дело в том что нотис мне в вьюшке ломает все ))
    и выводит не то что надо, т.к. нужна эта переменная
     
  4. StrikeOFF

    StrikeOFF ♥kan inte lyfta utan lift♥

    Регистр.:
    20 мар 2010
    Сообщения:
    363
    Симпатии:
    204
    а что ты имеешь ввиду под "есть этот индекс". Там проверка есть ли в массиве
    $cr[$inventory['barcode']] хоть один элемент. Возвращает что нету. а нету потому что $inventory['barcode'] не существует видимо. сделай echo $inventory['barcode']; Думаю что ничего не выведет, если бы был - не было бы варнинга
     
    Последнее редактирование: 27 янв 2014
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.546
    Симпатии:
    1.418
    Вывод ошибок на продакшене в целях безопасности должен быть отключён. Ошибки должны логироваться, но пользователи не должны их видеть.
    PHP:
    if (isset($inventory['barcode']) && count($cr[$inventory['barcode']]) != 0)
    избавит тебя от "Notice: Undefined index"