Рассмотрим мой следующий массив
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;
Пожалуйста, рассмотрите массив, который содержит много данных, таких как тысячи или даже больше данных.
Таким образом, в этом случае указанное решение не является идеальным. Особенно, когда мне нужно часто делать такую операцию.
Ты можешь использовать array_keys()
,
$keys = array_keys($arr2test);
$index4 = array_search('a3', $keys);
$index5 = $keys[$index4+1];
$element5 = $arr2test[$index5];
использование array_slice:
$a4 = array_slice($arr2test, 4, 1);