配列の要素を再帰的に検索して置換したい。PHPの再帰的な検索と配列要素の置換
配列は、ツリーベースにはそう見えるよう
Object
Children
Object type A
Object type B
Object
Children
Object type A
Object
など
私は例えば、私は内のすべてのエントリを交換したいので、他の項目で特定のアイテムを交換できるようにしたいタイプAの配列をタイプBの配列で配列します。ただし、ここにキャッチがあります。新しく置き換えられたオブジェクトには、タイプAの子を置き換える必要があります。
は、これまでのところ私はRefObjectsの最初のレベルに置き換えられますが、その後追加の子どもを検索しません
foreach($nodes as &$node) {
// Replace node?
if($node['type'] == 'RefObject') {
$n = $this->site->get_node_where('id', $node['node_ref']);
// Replace node
$node = $this->site->get_node_where('object_id', $n['object_id']);
// Get children
$node['children'] = $this->site->get_descendants($node['lft'], $node['rgt']);
}
}
return $nodes;
を持っています。
私は何時間も壁に頭を打ちました。助けてください!
乾杯、 Gaz。
子ノードから何も返されない場合は、関数に何らかのチェックを追加する必要があります。それ以外の場合は、ループでスタックされます – Josh