Спойлер: Массив (большой!) Код (Text): array(1) { [0]=> array(9) { ["denial"]=> float(0.0769) ["visits"]=> int(13) ["depth"]=> float(1.3846) ["chld"]=> array(3) { [0]=> array(9) { ["denial"]=> float(0.0909) ["visits"]=> int(11) ["depth"]=> float(1.1818) ["chld"]=> array(4) { [0]=> array(9) { ["denial"]=> float(0.2) ["visits"]=> int(5) ["depth"]=> float(1) ["chld"]=> array(3) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["page_views"]=> int(1) ["visit_time"]=> int(15) ["name"]=> string(29) "Нижний Новгород" ["region_type"]=> string(4) "city" ["id"]=> string(2) "47" } } ["page_views"]=> int(1) ["visit_time"]=> int(15) ["name"]=> string(59) "Городской округ Нижний Новгород" ["region_type"]=> string(9) "district2" ["id"]=> string(6) "120911" } } ["page_views"]=> int(1) ["visit_time"]=> int(15) ["name"]=> string(41) "Нижегородская область" ["region_type"]=> string(11) "fed_subject" ["id"]=> string(5) "11079" } [1]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["page_views"]=> int(1) ["visit_time"]=> int(138) ["name"]=> string(10) "Пермь" ["region_type"]=> string(4) "city" ["id"]=> string(2) "50" } } ["page_views"]=> int(1) ["visit_time"]=> int(138) ["name"]=> string(40) "Городской округ Пермь" ["region_type"]=> string(9) "district2" ["id"]=> string(6) "120888" } } ["page_views"]=> int(1) ["visit_time"]=> int(138) ["name"]=> string(25) "Пермский край" ["region_type"]=> string(11) "fed_subject" ["id"]=> string(5) "11108" } [2]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["page_views"]=> int(1) ["visit_time"]=> int(99) ["name"]=> string(12) "Самара" ["region_type"]=> string(4) "city" ["id"]=> string(2) "51" } } ["page_views"]=> int(1) ["visit_time"]=> int(99) ["name"]=> string(42) "Городской округ Самара" ["region_type"]=> string(9) "district2" ["id"]=> string(6) "120861" } } ["page_views"]=> int(1) ["visit_time"]=> int(99) ["name"]=> string(33) "Самарская область" ["region_type"]=> string(11) "fed_subject" ["id"]=> string(5) "11131" } } ["page_views"]=> int(5) ["visit_time"]=> int(54) ["name"]=> string(56) "Приволжский федеральный округ" ["region_type"]=> string(5) "state" ["id"]=> string(2) "40" } [1]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(3) ["depth"]=> float(1.6667) ["chld"]=> array(2) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(2) ["depth"]=> float(2) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(2) ["depth"]=> float(2) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(2) ["depth"]=> float(2) ["page_views"]=> int(4) ["visit_time"]=> int(26) ["name"]=> string(10) "Томск" ["region_type"]=> string(4) "city" ["id"]=> string(2) "67" } } ["page_views"]=> int(4) ["visit_time"]=> int(26) ["name"]=> string(40) "Городской округ Томск" ["region_type"]=> string(9) "district2" ["id"]=> string(6) "121097" } } ["page_views"]=> int(4) ["visit_time"]=> int(26) ["name"]=> string(29) "Томская область" ["region_type"]=> string(11) "fed_subject" ["id"]=> string(5) "11353" } [1]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["page_views"]=> int(1) ["visit_time"]=> int(16) ["name"]=> string(15) "Улан-Удэ" ["region_type"]=> string(4) "city" ["id"]=> string(3) "198" } } ["page_views"]=> int(1) ["visit_time"]=> int(16) ["name"]=> string(45) "Городской округ Улан-Удэ" ["region_type"]=> string(9) "district2" ["id"]=> string(6) "121100" } } ["page_views"]=> int(1) ["visit_time"]=> int(16) ["name"]=> string(35) "Республика Бурятия" ["region_type"]=> string(11) "fed_subject" ["id"]=> string(5) "11330" } } ["page_views"]=> int(5) ["visit_time"]=> int(22) ["name"]=> string(52) "Сибирский федеральный округ" ["region_type"]=> string(5) "state" ["id"]=> string(2) "59" } [2]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(2) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(2) ["depth"]=> float(1) ["chld"]=> array(2) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["page_views"]=> int(1) ["visit_time"]=> int(15) ["name"]=> string(12) "Москва" ["region_type"]=> string(4) "city" ["id"]=> string(3) "213" } [1]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["page_views"]=> int(1) ["visit_time"]=> int(15) ["name"]=> string(10) "Дубна" ["region_type"]=> string(4) "city" ["id"]=> string(3) "215" } } ["page_views"]=> int(1) ["visit_time"]=> int(15) ["name"]=> string(40) "Городской округ Дубна" ["region_type"]=> string(9) "district2" ["id"]=> string(6) "120992" } } ["page_views"]=> int(2) ["visit_time"]=> int(15) ["name"]=> string(51) "Москва и Московская область" ["region_type"]=> string(11) "fed_subject" ["id"]=> string(1) "1" } } ["page_views"]=> int(2) ["visit_time"]=> int(15) ["name"]=> string(56) "Центральный федеральный округ" ["region_type"]=> string(5) "state" ["id"]=> string(1) "3" } [3]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(1) ["page_views"]=> int(1) ["visit_time"]=> int(16) ["name"]=> string(12) "Тюмень" ["region_type"]=> string(4) "city" ["id"]=> string(2) "55" } } ["page_views"]=> int(1) ["visit_time"]=> int(16) ["name"]=> string(42) "Городской округ Тюмень" ["region_type"]=> string(9) "district2" ["id"]=> string(6) "121134" } } ["page_views"]=> int(1) ["visit_time"]=> int(16) ["name"]=> string(33) "Тюменская область" ["region_type"]=> string(11) "fed_subject" ["id"]=> string(5) "11176" } } ["page_views"]=> int(1) ["visit_time"]=> int(16) ["name"]=> string(52) "Уральский федеральный округ" ["region_type"]=> string(5) "state" ["id"]=> string(2) "52" } } ["page_views"]=> int(13) ["visit_time"]=> int(35) ["name"]=> string(12) "Россия" ["region_type"]=> string(7) "country" ["id"]=> string(3) "225" } [1]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(3) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(3) ["page_views"]=> int(3) ["visit_time"]=> int(161) ["name"]=> string(14) "Украина" ["region_type"]=> string(7) "country" ["id"]=> string(3) "187" } } ["page_views"]=> int(3) ["visit_time"]=> int(161) ["name"]=> string(6) "СНГ" ["region_type"]=> string(6) "region" ["id"]=> string(3) "166" } [2]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(2) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(2) ["chld"]=> array(1) { [0]=> array(9) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(2) ["chld"]=> array(1) { [0]=> array(8) { ["denial"]=> float(0) ["visits"]=> int(1) ["depth"]=> float(2) ["page_views"]=> int(2) ["visit_time"]=> int(401) ["name"]=> string(8) "Рига" ["region_type"]=> string(4) "city" ["id"]=> string(5) "11474" } } ["page_views"]=> int(2) ["visit_time"]=> int(401) ["name"]=> string(12) "Латвия" ["region_type"]=> string(7) "country" ["id"]=> string(3) "206" } } ["page_views"]=> int(2) ["visit_time"]=> int(401) ["name"]=> string(25) "Страны Балтии" ["region_type"]=> string(6) "region" ["id"]=> string(3) "980" } } ["page_views"]=> int(2) ["visit_time"]=> int(401) ["name"]=> string(12) "Европа" ["region_type"]=> string(9) "continent" ["id"]=> string(3) "111" } } ["page_views"]=> int(18) ["visit_time"]=> int(73) ["name"]=> string(14) "Евразия" ["region_type"]=> string(9) "continent" ["id"]=> string(5) "10001" } } Помогите пожалуйста. Ни как не разберусь как в цикле вывести данный массив. Статьи перечитал все в нете, не помогло) Уж больно сложная структура. Прошу помощи! Это массив из Яндекс Метрики если что. Вот в читабельном виде
нужно создать функцию которая будет внутри вызывать сама себя до тех пор пока результат не пуст. почитай статьи про Рекурсию. я в свое время начинаний так дерево комментариев написал - только потом я узнал, что это называется рекурсия
@ghostcom когда делаешь var_export/var_dump массива, то если смотришь результат в браузере, то результат помещай в тег <pre> или просто смотри на массив в исходном коде страницы в браузере, ты там сможешь по отступам, понять иерархию в массиве, после небольшой тренировки, сможешь уже писать цепочку иерархии для получения нужной информации из массива.
Так и делаю. При создании темы бала ошибка "длинное сообщение". Поэтому структуру прикрепил вложением.
@ghostcom, присмотрись к функциям для работы с массивами, возможно получится сделать все проще. PHP: $arr = array( array( 'denial' => 0.0769, 'visits' => 13, 'depth' => 1.3846, 'chld' => array( array( 'denial' => 0.0769, 'visits' => 13, 'depth' => 1.3846) ) ) ); function prod($carry, $item) { if (is_array($item)) { array_reduce($item, 'prod'); } else { echo "<pre>"; echo $item; } } array_reduce($arr, 'prod'); Вот к примеру как перебирает примерно как у тебя массив array_reduce.
@mahmuzar Работает, но выводит все подряд. Как теперь вывести только те где ключ region_type равен city?
@mahmuzar Пока только города и количество просмотров --- Добавлено --- Например Москва - 22 Томск - 3 Саратов -5
@ghostcom, можешь сериализовать массив и дать эту строку? --- Добавлено --- можно и вывод var_export тоже выложить
PHP: $arr = array( array( 'denial' => 0.0769, 'visits' => 13, 'depth' => 1.3846, 'chld' => array( array( 'denial' => 0.0769, 'visits' => 13, 'depth' => 1.3846, 'page_views' => 1, 'visit_time' => 15, 'name' => "Нижний Новгород", 'region_type' => "city", 'id' => 47, ) ), 'page_views' => 1, 'visit_time' => 15, 'name' => "Москва", 'region_type' => "city", 'id' => 47, ) ); function prod($carry, $item) { if (is_array($item)) { if (array_search('city', $item)) { foreach ($item as $key => $val) { if (!is_array($val)) { echo $key . ":" . $val."<br>"; } } echo "<br>"; } array_reduce($item, 'prod'); } else { } } array_reduce($arr, 'prod'); Не самое изящное решение, но работает. Возможно при больших объемах проблемы с производительностью, проверь. Вроде выводит результат, который требуется тебе.
Что то не то. Не фильтрует. выводит все без исключения. Надо как то так PHP: if (array_search('region_type', 'city')) { echo ?????; } Но пока недогоняю у нас city не ключ, а значение
Вот так работает, но это уже утопия PHP: foreach($data as $item) { if (isset($item['chld'])) { foreach($item['chld'] as $item) { if (isset($item['chld'])) { foreach($item['chld'] as $item) { if (isset($item['chld'])) { foreach($item['chld'] as $item) { if (isset($item['chld'])) { foreach($item['chld'] as $item) { if (isset($item['chld'])) { foreach($item['chld'] as $item) { if (isset($item['chld'])) { foreach($item['chld'] as $item) { if (isset($item['chld'])) { foreach($item['chld'] as $item) { } } else { echo $item['name'] . " - " . $item['visits'] . "<br />"; } } } else { echo $item['name'] . " - " . $item['visits'] . "<br />"; } } } else { echo $item['name'] . " - " . $item['visits'] . "<br />"; } } } else { echo $item['name'] . " - " . $item['visits'] . "<br />"; } } } else { echo $item['name'] . " - " . $item['visits'] . "<br />"; } } } else { echo $item['name'] . " - " . $item['visits'] . "<br />"; } } } else { echo $item['name'] . " - " . $item['visits'] . "<br />"; } } Выводит только конечные вложения массива
PHP: a:1:{i:0;a:9:{s:6:"denial";d:0.10000000000000001;s:6:"visits";i:10;s:5:"depth";d:2.6000000000000001;s:4:"chld";a:2:{i:0;a:9:{s:6:"denial";d:0.1111;s:6:"visits";i:9;s:5:"depth";d:1.1111;s:4:"chld";a:3:{i:0;a:9:{s:6:"denial";d:0;s:6:"visits";i:4;s:5:"depth";d:1.25;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0;s:6:"visits";i:4;s:5:"depth";d:1.25;s:4:"chld";a:2:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:3;s:5:"depth";d:1.3332999999999999;s:10:"page_views";i:4;s:10:"visit_time";i:269;s:4:"name";s:12:"Москва";s:11:"region_type";s:4:"city";s:2:"id";s:3:"213";}i:1;a:9:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:10:"page_views";i:1;s:10:"visit_time";i:53;s:4:"name";s:22:"Красногорск";s:11:"region_type";s:4:"city";s:2:"id";s:5:"10735";}}s:10:"page_views";i:1;s:10:"visit_time";i:53;s:4:"name";s:37:"Красногорский район";s:11:"region_type";s:9:"district2";s:2:"id";s:5:"98590";}}s:10:"page_views";i:5;s:10:"visit_time";i:215;s:4:"name";s:51:"Москва и Московская область";s:11:"region_type";s:11:"fed_subject";s:2:"id";s:1:"1";}}s:10:"page_views";i:5;s:10:"visit_time";i:215;s:4:"name";s:56:"Центральный федеральный округ";s:11:"region_type";s:5:"state";s:2:"id";s:1:"3";}i:1;a:9:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:10:"Томск";s:11:"region_type";s:4:"city";s:2:"id";s:2:"67";}}s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:40:"Городской округ Томск";s:11:"region_type";s:9:"district2";s:2:"id";s:6:"121097";}}s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:29:"Томская область";s:11:"region_type";s:11:"fed_subject";s:2:"id";s:5:"11353";}}s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:52:"Сибирский федеральный округ";s:11:"region_type";s:5:"state";s:2:"id";s:2:"59";}i:2;a:9:{s:6:"denial";d:0;s:6:"visits";i:2;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:10:"page_views";i:1;s:10:"visit_time";i:138;s:4:"name";s:29:"Санкт-Петербург";s:11:"region_type";s:4:"city";s:2:"id";s:1:"2";}}s:10:"page_views";i:1;s:10:"visit_time";i:138;s:4:"name";s:74:"Санкт-Петербург и Ленинградская область";s:11:"region_type";s:11:"fed_subject";s:2:"id";s:5:"10174";}}s:10:"page_views";i:2;s:10:"visit_time";i:94;s:4:"name";s:63:"Северо-Западный федеральный округ";s:11:"region_type";s:5:"state";s:2:"id";s:2:"17";}}s:10:"page_views";i:10;s:10:"visit_time";i:120;s:4:"name";s:12:"Россия";s:11:"region_type";s:7:"country";s:2:"id";s:3:"225";}i:1;a:9:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:16;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:16;s:10:"page_views";i:16;s:10:"visit_time";i:523;s:4:"name";s:14:"Украина";s:11:"region_type";s:7:"country";s:2:"id";s:3:"187";}}s:10:"page_views";i:16;s:10:"visit_time";i:523;s:4:"name";s:6:"СНГ";s:11:"region_type";s:6:"region";s:2:"id";s:3:"166";}}s:10:"page_views";i:26;s:10:"visit_time";i:160;s:4:"name";s:14:"Евразия";s:11:"region_type";s:9:"continent";s:2:"id";s:5:"10001";}}
PHP: $arr = unserialize('a:1:{i:0;a:9:{s:6:"denial";d:0.10000000000000001;s:6:"visits";i:10;s:5:"depth";d:2.6000000000000001;s:4:"chld";a:2:{i:0;a:9:{s:6:"denial";d:0.1111;s:6:"visits";i:9;s:5:"depth";d:1.1111;s:4:"chld";a:3:{i:0;a:9:{s:6:"denial";d:0;s:6:"visits";i:4;s:5:"depth";d:1.25;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0;s:6:"visits";i:4;s:5:"depth";d:1.25;s:4:"chld";a:2:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:3;s:5:"depth";d:1.3332999999999999;s:10:"page_views";i:4;s:10:"visit_time";i:269;s:4:"name";s:12:"Москва";s:11:"region_type";s:4:"city";s:2:"id";s:3:"213";}i:1;a:9:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:10:"page_views";i:1;s:10:"visit_time";i:53;s:4:"name";s:22:"Красногорск";s:11:"region_type";s:4:"city";s:2:"id";s:5:"10735";}}s:10:"page_views";i:1;s:10:"visit_time";i:53;s:4:"name";s:37:"Красногорский район";s:11:"region_type";s:9:"district2";s:2:"id";s:5:"98590";}}s:10:"page_views";i:5;s:10:"visit_time";i:215;s:4:"name";s:51:"Москва и Московская область";s:11:"region_type";s:11:"fed_subject";s:2:"id";s:1:"1";}}s:10:"page_views";i:5;s:10:"visit_time";i:215;s:4:"name";s:56:"Центральный федеральный округ";s:11:"region_type";s:5:"state";s:2:"id";s:1:"3";}i:1;a:9:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0.33329999999999999;s:6:"visits";i:3;s:5:"depth";d:1;s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:10:"Томск";s:11:"region_type";s:4:"city";s:2:"id";s:2:"67";}}s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:40:"Городской округ Томск";s:11:"region_type";s:9:"district2";s:2:"id";s:6:"121097";}}s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:29:"Томская область";s:11:"region_type";s:11:"fed_subject";s:2:"id";s:5:"11353";}}s:10:"page_views";i:3;s:10:"visit_time";i:10;s:4:"name";s:52:"Сибирский федеральный округ";s:11:"region_type";s:5:"state";s:2:"id";s:2:"59";}i:2;a:9:{s:6:"denial";d:0;s:6:"visits";i:2;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:9:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:1;s:10:"page_views";i:1;s:10:"visit_time";i:138;s:4:"name";s:29:"Санкт-Петербург";s:11:"region_type";s:4:"city";s:2:"id";s:1:"2";}}s:10:"page_views";i:1;s:10:"visit_time";i:138;s:4:"name";s:74:"Санкт-Петербург и Ленинградская область";s:11:"region_type";s:11:"fed_subject";s:2:"id";s:5:"10174";}}s:10:"page_views";i:2;s:10:"visit_time";i:94;s:4:"name";s:63:"Северо-Западный федеральный округ";s:11:"region_type";s:5:"state";s:2:"id";s:2:"17";}}s:10:"page_views";i:10;s:10:"visit_time";i:120;s:4:"name";s:12:"Россия";s:11:"region_type";s:7:"country";s:2:"id";s:3:"225";}i:1;a:9:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:16;s:4:"chld";a:1:{i:0;a:8:{s:6:"denial";d:0;s:6:"visits";i:1;s:5:"depth";d:16;s:10:"page_views";i:16;s:10:"visit_time";i:523;s:4:"name";s:14:"Украина";s:11:"region_type";s:7:"country";s:2:"id";s:3:"187";}}s:10:"page_views";i:16;s:10:"visit_time";i:523;s:4:"name";s:6:"СНГ";s:11:"region_type";s:6:"region";s:2:"id";s:3:"166";}}s:10:"page_views";i:26;s:10:"visit_time";i:160;s:4:"name";s:14:"Евразия";s:11:"region_type";s:9:"continent";s:2:"id";s:5:"10001";}} '); function prod($carry, $item) { if (is_array($item)) { if ($item['region_type'] == 'city') { foreach ($item as $key => $val) { if (!is_array($val)) { echo $key . ":" . $val."<br>"; } } echo "<br>"; } array_reduce($item, 'prod'); } else { } } array_reduce($arr, 'prod'); В общем подредактировал чуть код, вот, вроде выводит именно те данные которые требуются.
@mahmuzar Вообщем дело обстоит так. Сериализованый массив выводит пустоту как не крутил, а вот при обычном массиве показывает те части где есть значение city. То есть частично все получилось, но выводит все ключи и значения вложенного массива где есть region_type = city. Два часа бьюсь не могу выводить из этого массива только $item['name'] и $item['visits']
убери форыч и все. Как в примере выше, который ты выложил. --- Добавлено --- Все работам как надо, тебе я оставил этот момент , где надо было убрать форыч и сделать вывод таким какой тебе требуется. Это просто, должно у тебя получиться. --- Добавлено --- Сериализованный массив я просил для себя. Ты используй свой обычный массив.
@mahmuzar СУПЕР все получилось!!! Код (Text): $data = $todayGeo["data"]; function prod($carry, $item) { if (is_array($item)) { if ($item['region_type'] == 'city') { echo $item['name'] . " - " . $item['visits'] . "<br />"; echo "<br>"; } array_reduce($item, 'prod'); } else { } } array_reduce($data, 'prod');