<?php
$pages = array('0'=>array(
'parent'=> 'parent0',
'child' => array('name' => 'test', 'children' => array(
array('child' => 'child1'),
array('child' => 'child2')
))
),
'1' => array('parent'=>'parent1')
);
$arr_pages = getDetails($pages);
function getDetails(array $pages) {
$result = array();
if(count($pages)) {
foreach($pages as $key => $value) {
$cnames=array();
if($value['parent']) $result[$key]['parentname'] = $value['parent'];
if($value['child']['name']) $result[$key]['childname'] = $value['child']['name'];
if(is_array($value['child']['children'])) {
foreach($value['child']['children'] as $cval) $cnames[] = $cval['child'];
$result[$key]['childrenofchild'] = implode(',',$cnames);
}
}
}
return $result;
}
我做到了,在考慮有陣列的深度將不超過3個級別的一個非常基本的方式。你會期待的O/P作爲
Array
(
[0] => Array
(
[parentname] => parent0
[childname] => test
[childrenofchild] => child1,child2
)
[1] => Array
(
[parentname] => parent1
)
)
請分享您的$ pages數組的結構。我想你會需要使用遞歸函數做n級解析 – satdev86
@ satdev86我更新了我的問題。我不知道如何得到孩子的孩子的 – Defyleiti
你的問題需要更多的信息,你曾經使用過一個$頁面的對象,不知道它是如何架設的。您正在使用數組鍵作爲parent_page_id,但您的模型數組數據不與您的代碼內聯。請重新表述您的問題。然而,我可以展示一些功能的方式來完成它 – satdev86