私はCodeIgniter (CI)で作業しており、ドロップダウン リストのネストされたカテゴリ項目のセットを作成しようとしています。ドロップダウン ボックスを作成するには、CIでecho form_dropdown('name', $array, $selectedID)
.
ネストされたリスト配列を作成する関数は次のとおりです。
$categoryData = array();
function list_categories($cats, $sub = ''){
foreach($cats as $cat){
//$cat['category']->id = $sub.$cat['category']->title;
$categoryData[$cat['category']->id] = $sub.$cat['category']->title;
if( sizeof($cat['children']) > 0 ){
$sub2 = str_replace('—→ ', '–', $sub);
$sub2.= '–→ ';
list_categories($cat['children'], $sub2);
}
}
}
関数内のvar_dump($categoryData);
直後に を実行すると、ネストされたセットの配列が返されます。したがって、関数内で使用する場合はこれで問題ありません。しかし、私はこれを行う必要があります:foreach
list_categories()
var_dump()
<?php
list_categories($categories);
var_dump($categoryData);
?>
そして、ここで空の配列を取得します。出力は次のとおりです。
array (size=0)
empty
誰かが私がここで間違っていることを教えてもらえますか?