Лучший способ переместить внутренний указатель массива в Stack Overflow

Рассмотрим мой следующий массив

for($i=0;$i<10;$i++) $arr2test['a'.sprintf('%s',$i)]='arr # '.($i+1);

Теперь я могу получить доступ к $ arr2test по индексу. Например, я могу повторить $ arr2test [‘a3’], чтобы показать четвертый элемент этого массива.

Мое требование — получить пятый элемент этого массива. Позвольте, я не знаю индекс пятого элемента. Я просто знаю четвертый элемент индекса, то есть a3

Я знаю, что могу сделать это с помощью цикла foreach, как показано ниже:

foreach($arr2test as $k=>$v){
if(isset($a3Found)) break;
if($k=='a3') $a3Found=true;
}
echo $v;

Пожалуйста, рассмотрите массив, который содержит много данных, таких как тысячи или даже больше данных.
Таким образом, в этом случае указанное решение не является идеальным. Особенно, когда мне нужно часто делать такую ​​операцию.

1

Решение

Ты можешь использовать array_keys(),

$keys = array_keys($arr2test);
$index4 = array_search('a3', $keys);
$index5 = $keys[$index4+1];
$element5 = $arr2test[$index5];
0

Другие решения

использование array_slice:

$a4 = array_slice($arr2test, 4, 1);
0

По вопросам рекламы [email protected]