У меня есть какой-то устаревший код, который использует каждый для возврата значений пунктов меню
function fetch () {
$item = each( $this->menu );
if ( $item ) {
return ( $item['value'] );
} else {
reset ( $this->menu );
return false;
}
}
Я попытался решить эту проблему, добавив функцию, которая эмулирует каждую функцию:
function each_replacement($arr) {
$key = key($arr);
$result = ($key === null) ? false : [$key, current($arr), 'key' => $key, 'value' => current($arr)];
next($arr);
return $result;
}
Иизменив исходный выбор функции на этот (нашел это в другом потоке:
function fetch () {
$item = this->each_replacement( $this->menu );
if ( $item ) {
return ( $item['value'] );
} else {
reset ( $this->menu );
return false;
}
}
Но вывод неправильный, он только несколько раз показывает первый элемент меню и застревает в бесконечном цикле, так что это неРабота*
Uncaught Error: Cannot use object of type MenuItem as array
Если кто-нибудь может помочь мне найти решение, которое было бы замечательно.
Полный код меню находится здесь: http://sandbox.onlinephpfunctions.com/code/45a3c9c5c24232096744ecd9b915b13982ec551a