$srch = array('oldkey' => 'somekey', 'key' => 'newkey', 'value' => 'somevalue');
$res = array();
foreach($arr as $key => $val) {
if($key == $srch['oldkey']) {
$res[$srch['key']] => $srch['value'];
} else {
$res[$key] = $val;
}
}
именно для этого пункты меню помещаем в ИНДЕКСИРОВАННЫЙ массив и замена парента на чайлд будет заменой значения значения элемента массива с известным индексом безо всяких колдунств с индексами.Есть дерево (меню), если у некого элемента есть только 1 чилд то этот чилд должен встать на место родителя.
если на выходе не получается массив с исключительно числовыми ключами (для которого проблемы не существует) то какой тип поля ещё может быть у него?? (исключая совсем невероятные date, enum,...)Мы упорядочно вибираем данные из базы в массив, в качестве ключей массива используем первичный ключ из базы, в результате у нас ассоциативный массив в котором важен порядок.