ここに私の収集した配列です。親idの助けを借りてサブ配列を作成する方法
$raw_ar = Array (
0 => Array ('ID' => 6, 'pageTitle' => 'First', 'pageContent' => 'http://localhost/cms/1', 'parentID' => 0),
1 => Array ('ID' => 7, 'pageTitle' => 'Second', 'pageContent' => 'http://localhost/cms/2', 'parentID' => 6),
2 => Array ('ID' => 8, 'pageTitle' => 'Third', 'pageContent' => 'http://localhost/cms/3', 'parentID' => 6) ,
3 => Array ('ID' => 9, 'pageTitle' => 'Four', 'pageContent' => 'http://localhost/cms/4', 'parentID' => 0)
) ;
そして、私の結果は、この
$final_ar = array(
0 => array ('ID' => 6, 'pageTitle' => 'First', 'pageContent' => 'http://localhost/cms/1', 'parentID' => 0 ,
'sub_items' => array(
0 => array('ID' => 7, 'pageTitle' =>'second', 'pageContent' => 'http://localhost/cms/2', 'parentID' => 6),
1 => array('ID' => 8, 'pageTitle' => 'Third', 'pageContent' => 'http://localhost/cms/3', 'parentID' => 6),
)
),
1 => array('ID' => 9, 'pageTitle' => 'Four', 'pageContent' => 'http://localhost/cms/4', 'parentID' => 0)
);
そして、ここのようにする必要があります私のコードは
ある$final_ar = array();
foreach ($raw_ar as $value) {
if($value['parentID'] ==0){
$final_ar[] = $value;
}
else{
$pID = $value['parentID'];
foreach ($final_ar as $value1) {
//echo $value1['ID'].'-'.$pID;
if($value1['ID'] == $pID){
//if(isset($value1['sub_items'])){
$value1['sub_items'][] = $value;
//}else
//$value1['sub_items'] = $value;
}
$temp_ar[] = $value1;
}
$exist = 0;
foreach ($final_ar as $key => $val) {
# code...
if($val['ID'] == $temp_ar['ID']){
unset($final_ar[$key]);
$final_ar[$key] = $temp_ar;
$exist =1;
break;
}
}
if($exist == 0)
$final_arr[] = $temp_ar;
//$parent_key = array_column($raw_ar,'ID', 'parentID');
}
}
print_r($final_arr);
そして私はsub_items
でそれをコーディングしてみました。しかし、それは配列を作成するのに役立ちます。しかし、いったん変更すると、既存の配列を削除する方法はわかりません。このような結果が得られます。
Array ([0] => Array ([0] => Array ([ID] => 6 [pageTitle] => First [pageContent] => http://localhost/cms/1 [parentID] => 0 [sub_items] => Array ([0] => Array ([ID] => 7 [pageTitle] => Second [pageContent] => http://localhost/cms/2 [parentID] => 6)))) [1] => Array ([0] => Array ([ID] => 6 [pageTitle] => First [pageContent] => http://localhost/cms/1 [parentID] => 0 [sub_items] => Array ([0] => Array ([ID] => 7 [pageTitle] => Second [pageContent] => http://localhost/cms/2 [parentID] => 6))) [1] => Array ([ID] => 6 [pageTitle] => First [pageContent] => http://localhost/cms/1 [parentID] => 0 [sub_items] => Array ([0] => Array ([ID] => 8 [pageTitle] => Third [pageContent] => http://localhost/cms/3 [parentID] => 6)))))
ありがとう、あなたはそれを作った。 – Kvvaradha
もう1つの説明。このリストにはさらに多くのサブリストが含まれています。ネストされた配列の任意の組み合わせを作成するネストされた関数を呼び出すのを手伝ってください。 – Kvvaradha
あなたの配列のサブ項目にもサブ項目が含まれている可能性がありますか? –