разбор многомерного массива через foreach

155
18 сентября 2017, 04:43

Начинаю, изучать php и хочу сделать логирование ошибок. Пытаюсь разобрать функцию debug_backtrace(), и не могу понять из-за чего он не хочет брать [0] массив для разбора, а берет [1].

Array 
( 
    [0] => Array 
        ( 
            [file] => C:\Openserver\domains\test_code\modules\static\main.php 
            [line] => 32 
            [function] => q 
            [args] => Array 
                ( 
                    [0] => SELECT * FROM `userfs` ORDER BY `id` 
                ) 
 
        ) 
 
    [1] => Array 
        ( 
            [file] => C:\Openserver\domains\test_code\index.php 
            [line] => 32 
            [args] => Array 
                ( 
                    [0] => C:\Openserver\domains\test_code\modules\static\main.php 
                ) 
 
            [function] => include 
        ) 
 
)

Использую вот такой foreach

       $info = debug_backtrace(); 
        foreach ($info as $k=>$v){ 
            foreach ($v as $k2=>$v2){ 
echo "$k[0][$k2][$v2]"; 
                $error = date("Y-m-d H:i:s"). 
                    "<br>\nЗапрос: ".$query. 
                    "<br>\nОшибка: ".mysqli_error($link). 
                    "<br>\nВ файле: ".$k[0]['file'].$v2. 
                    "<br>\nВ строке: ".$k[0]['line'].$v2. 
                    "<br>\nВ функции: ".$k[0]['function'].$v2 
                ; 
            } 
        }

Можете подсказать где допустил ошибку?

Answer 1

$k - ключ в объекте $info
$v - значение в объекте $info с ключом $k
$k2 - ключ в объекте $v
$v2 - значение в объекте $v с ключом $k2

   foreach ($info as $k=>$v){
        foreach ($v as $k2=>$v2){
            echo $v2;
            //$v2 = $info[$k][$k2]
        }
    }
Answer 2

Как оказалось, мне надо было использовать $info[0] вместо $k[0].

$info[0]['file'].$v2
READ ALSO
Автозавершение текста в TextBox по подстроке

Автозавершение текста в TextBox по подстроке

Мне понадобилось найти функцию, которая отображает подсказки в TextBox в виде списка подходящих строк (те

206
Отловить нажатие кнопки &ldquo;minimize&rdquo; в консоли WinAPI

Отловить нажатие кнопки “minimize” в консоли WinAPI

Реально ли в консольном приложении C/C++ отловить нажатие кнопки minimize (свернуть)? Спасибо

219
C++ функции в dll не работают

C++ функции в dll не работают

Имеется dll с таким кодом и функцией:

337
Очень длинный тэг ID3v2

Очень длинный тэг ID3v2

Читаю на с++ id3v2 тэги mp3 файлаВ какой-то момент появляется тэг APIC, у которого размер фрейма слишком велик для помещения в память

221