Говорю сразу: в ньюансах php не силён. Волею судеб пришлось... :)
<?php
function getById(&$data,$id){
if (! isset($data['id'])) return false;
if ($data['id'] == $id) return $data;
if (! isset($data['children'])) return false;
foreach ($data['children'] as $ind=>$val){
return $this->getById($data['children'][$ind], $id);
}
}
$some_data=array( 'id' => 12345 );
$needed_data = & getById($some_data,12345);
$needed_data['bla-bla'] = 'bla-bla';
print_r($some_data);
?>
Выдаёт:
Array (
[id] => 12345
)
а хочется:
Array (
[id] => 12345,
[bla-bla] => 'bla-bla'
)
Как?