Intereting Posts
Регулярное выражение для получения значения внутри двойных фигурных скобок "{{}}" Карты Google – поиск всех маркеров внутри заданного радиуса Javascript / Php PHP PDO :: bindParam () типы данных .. как это работает? Фильтрация контента на основе слов angularjs, как проверить, существует ли файл шаблона php simple html dom parse img html5 атрибуты? перенаправлять на другую домашнюю страницу, следуя роли пользователя, используя FOSUserBundle Отправить Facebook App Request / Invite с использованием Graph Api Символы, разрешенные в ключах php-массива? Преобразование ASCII и UTF-8 в неспециальные символы с одной функцией Подсчет появления определенного значения в массиве с помощью PHP Как загрузить набор результатов MySQLi в двумерный массив? Как предотвратить PHP для преобразования объекта DateTime с значением 0000-00-00 в значение -0001-11-30 писать utf-8 символов в файл с fputcsv в php Почему мой PHP-код возвращает inf?

Ошибка преобразования массива в PHP

У меня есть следующий код для возврата ошибки …. но его

$traces = debug_backtrace(); foreach ($traces as $k => $v) { if ($v['function'] == 'include' || $v['function'] == 'include_once' || $v['function'] == 'require_once' || $v['function'] == 'require') { $args = ''; if (isset($v['args']) && is_array($v['args'])) { $size = count($v['args']); foreach ($v['args'] as $key => $arg) { $args .= $v['args'][$key]; if($key < $size) { $args .= ', '; } } } $traces .= '#' . $k . ' ' . $v['function'] . '('.$args.') called at [' . $v['file'].':'.$v['line'].']'; } else { $function = (array_key_exists('function',$v)) ? $v['function'].'() ' : 'function_name'; $file = (array_key_exists('file',$v)) ? $v['file'] : 'file_name'; $line = (array_key_exists('line',$v)) ? $v['line'] : 'line'; $traces .= "#{$k} $function called at {$file}:{$line}\n";//This line giving me notice... } } 

Я получаю уведомление как массив для преобразования строк здесь:

 $traces .= "#$k $function called at $file:$line\n"; 

Я действительно хочу преобразовать этот массив в строку. Есть ли какой-либо метод или функция, которая может конвертироваться без уведомления …

Как это исправить?

вы начинаете с:

 foreach($traces as $k=>$v) <- $traces here is an array 

то вы пытаетесь сделать

 $traces.= "xxx" <- $traces here is handled as a string 

я бы скорее определил строку $ tracestr для агрегирования текстового содержимого.

Вы не создаете массив правильно

  $args .= $v['args'][$key]; 

Вы создаете строку.

  $args = array(); if(isset($v['args']) && is_array($v['args'])) { $size = count($v['args']); foreach ($v[' args'] as $key => $arg) { array_push($args,$v['args'][$key]); // some of your code } 
 $trace = debug_backtrace(); foreach($traces as ...) 

Здесь что-то не так. $ trace – массив Debug Backtrace. Пока вы используете foreach ($ traces) … который кажется неопределенным. И вы добавляете к $ traces, который, как предполагается, является нескалярным, чтобы его отобразить.

Просто назовите свои переменные правильно и сделайте имена разными!