У меня есть большой многомерный массив. И я должен найти конкретную подматрицу из нее.
Я попытался использовать одну функцию рекурсии, но фактически не возвращал значения. Может ли кто-нибудь дать мне другое решение.
Представление массива.получить определенное значение из многомерного массива
Array
(
[0] => Array
(
[expanded] => 1
[key] => _1
[title] => New
)
[1] => Array
(
[key] => _2
[title] => Home
)
[2] => Array
(
[expanded] => 1
[key] => _3
[title] => Care
[children] => Array
(
[0] => Array
(
[expanded] => 1
[key] => _4
[title] => face
[children] => Array
(
[0] => Array
(
[key] => _5
[title] => new
)
[1] => Array
(
[key] => _6
[title] => <strong>face timeline</strong>
[data] => Array
(
[url] => http://localhost/patient/face-timeline/
[type] => content
[cid] => 2291
[timeline] => 0
)
[children] => Array
(
[0] => Array
(
[key] => _2278
[title] => Post Op Visit
)
[1] => Array
(
[key] => _2277
[title] => Surgery
)
[2] => Array
(
[key] => _2276
[title] => Pre-Op
)
[3] => Array
(
[key] => _2275
[title] => Consultation
)
[4] => Array
(
[key] => _2274
[title] => Reseach
)
)
)
)
)
)
)
)
Из этого массива я хочу этот массив (ниже):
Array
(
[key] => _6
[title] => <strong>face timeline</strong>
[data] => Array
(
[url] => http://localhost/patient/face-timeline/
[type] => content
[cid] => 2291
[timeline] => 0
)
[children] => Array
(
[0] => Array
(
[key] => _2278
[title] => Post Op Visit
)
[1] => Array
(
[key] => _2277
[title] => Surgery
)
[2] => Array
(
[key] => _2276
[title] => Pre-Op
)
[3] => Array
(
[key] => _2275
[title] => Consultation
)
[4] => Array
(
[key] => _2274
[title] => Reseach
)
)
)
Вот что я пытался
function recursion($array,$postid) {
foreach ($array as $key=>$value) {
if((isset($value['data']['cid'])) && ($value['data']['cid'] == $postid)){
$tmp = $value;
return $value;
}
if (is_array($value))
{
recursion($value,$postid);
}
}
}
Эта функция не возвращает значения.
Здесь $postid
является 2291
. То есть я ищу и я могу напечатать этот массив, но не может в состоянии вернуть значение Вот link
Где мой код? – artsylar
С примером массива, пожалуйста, также добавьте код здесь или в скрипте –