Я предлагаю свою идею об этом против любых недостатков array_values( )
функции, потому что я думаю, что это не прямая функция get.
Таким образом, он должен создать копию числового индексированного массива и затем получить доступ. Если PHP не скрывает метод, который автоматически переводит целое число в позицию нужного элемента, возможно, немного лучшее решение может состоять из функции, которая запускает массив со счетчиком до тех пор, пока он не приведет к желаемой позиции, а затем вернет достигнутый элемент ,
Таким образом, работа будет оптимизирована для очень большого массива размеров, поскольку алгоритм будет наилучшим образом выполнять индексы для малых размеров, останавливаясь немедленно. Однако в решении, выделенном array_values( )
, оно связано с циклом, проходящим через весь массив, даже если, например, мне нужно получить доступ к $ array [1].
function array_get_by_index($index, $array) {
$i=0;
foreach ($array as $value) {
if($i==$index) {
return $value;
}
$i++;
}
// may be $index exceedes size of $array. In this case NULL is returned.
return NULL;
}