2013-02-12 2 views
0

Вот что у меня естьPass переменной индексы массива

foreach ($post_formats as $format) { 
    if ($options['show_post_formats'][$format] == 0) { 
     $format = 'post-format-' . $format; 
     array_push($hide, $format); 
    } 
} 

и он работает отлично ... но дает мне Undefined индекс: сообщение об ошибке при отладке, потому что он хочет, чтобы значение $ формата, чтобы быть в кавычках. Как я буду делать это правильно?

+0

Нам необходимо увидеть больше кода – Tchoupi

+0

нормально, но это $ формат, что отладчик имеет проблемы с, потому что он ожидает значение, чтобы быть в кавычках – byronyasgur

+0

Как указано @MathieuImbert, более источник был бы весьма полезен, но вы можете проверить, существует ли индекс с [isset] (http://php.net/manual/en/function.isset.php) – fiz

ответ

3

как вы не уверены, что индекс будет там, который вы просто используете! Empty() и проверьте, существует ли массив.

<?php 
foreach ($post_formats as $format) { 
    if (!empty($format) && array_key_exists($format, $options['show_post_formats']) && $options['show_post_formats'][$format] == 0) { 
     $format = 'post-format-' . $format; 
     array_push($hide, $format); 
    } 
} 
?> 
+0

не уверен, что я понимаю ... я все-таки отбрасываю весь этот foreach? – byronyasgur

+0

хорошо, я сделал, и он сработал и избавился от ошибки – byronyasgur

+0

Не было никакого foreach, когда я ответил, anyways '$ format' может быть пустым значением или пустым, что вызывает проблему. Обновлено –

Смежные вопросы