配列をhtmlリスト(ol/ul)に変更する関数があります。配列の深さは引数として渡されます。
これを単一の関数で実行したかったのです。
for($i = 0; $i < $depth; $i++) {
foreach($list_array as $li) {
if(! is_array($li))
{
$str .= '<li>' . $li . '</li>';
}
}
}
このコードにより、配列の最初の次元が得られます。$i
増分するたびにこの配列をフラットにしたいと思います。
役立つ提案はありますか?
そして、はい、私はarray_walk_recursive()
、オブジェクト イテレータなどを認識しています...それらを使用せずにこのタスクを実行する簡単な方法があるかどうかを知りたいです。私は何も思いつきません。
いいえ、これはイテレータなどの使用が許可されていない大学のプロジェクトではありません。
編集:
print_list(array(
'some first element',
'some second element',
array(
'nested element',
'another nested element',
array(
'something else'
)
)
));
次のような出力が必要です。
<ul>
<li>some first element</li>
<li>some second element</li>
<ul>
<li>nested element</li>
<li>another nested element</li> // etc