Как подавить предупреждение PHP?
Предупреждение таково:
PHP Notice: преобразование массива в строку
Когда вы сталкиваетесь с массивом вместо строки, функция implode заменяет "массив", и этого мне достаточно. Итак, вывод функции происходит так, как я хочу. Я просто хочу, чтобы он не выдавал предупреждающее сообщение в error.log.
Как его подавить?
подробности:
например, когда я запускаю следующий код:
#!/usr/bin/php <?php $ar = array(0, array(0, 1), 1); $str = implode(', ', $ar); error_log($str); ?>
я получаю следующий вывод:
PHP Notice: Array to string conversion in /home/behnama/test/php/implode.php on line 5 0, Array, 1
мой вопрос снова звучит так: как я могу подавить сообщение об ошибке, пока результат такой, как я ожидаю?
Что я уже пробовал:
Я искал его повсюду и не нашел ни малейшей зацепки.
Richard MacCutchan
Пожалуйста, отредактируйте свой вопрос и добавьте код, который вызывает ошибку, а также опубликуйте точное сообщение и объясните, когда это происходит.
Patrice T
Чтобы удалить секретное предупреждение, вы должны сделать секретное исправление в своем секретном коде.
ilostmyid2
извините, я думал, что это достаточно ясно. теперь я обновил его с помощью примера.
Richard MacCutchan
Почему вы думаете, что это ясно, если мы не можем видеть ваш код или полное сообщение? Это две наиболее важные части информации.
Richard MacCutchan
Я просто запустил этот код и не получил сообщение.
ilostmyid2
так что, может быть, что-то изменилось в конфигурационных файлах php?
[no name]
Вы можете воспроизвести его например вставив его внутрь http://phptester.net/
ilostmyid2
О, спасибо. Я сделал. это и есть результат:
Обратите внимание на преобразование массива в строку в строке № 5
Mohibur Rashid
каков ваш ожидаемый результат?
ilostmyid2
линия под ним:
0, массив, 1
Mohibur Rashid
Мое предложение было бы таково: не меняйте уровень предупреждения. Вместо этого добавьте @ в начале функции.