是否有任何函数可以返回,例如,没有任何循环的关联数组的第3个元素? (并且不复制数组)
我知道我可以和计数器一起进行for / foreach循环,但我只是很好奇。
PS:我已经找到了this example,但我期待一些来自php的东西,例如getAssociativeDataByIndex($ array,$ index)。
编辑:这篇文章的内容:
function getAtPos($tmpArray,$pos) { return array_splice($tmpArray,$pos-1,1); } $array = array('Alpha' => 1.1,'Bravo' => 2.2,'Charlie' => 3.3,'Delta' => 4.4,'Echo' =>5.5, 'Golf' => 6.6); $pos = 3; $return = getAtPos($array,$pos); var_dump($return); // 3.3
PS2:我也发现this answer,但是ArrayIterator类和seek方法没有(很好)记录,所以我不是,如果这创建了一个数组的副本(如果是的话,我不认为这很有意思)
编辑:这篇文章的内容:
$keys = array_keys($array); echo $array[$keys[$position]]; OR The ArrayIterator class can also do this for you: $iterator = new ArrayIterator($array); $iterator->seek($position);
数组示例:
$a = array('jean' => 3, 'simon' => 2, 'alex' => 5, 'derek' => 4);
用例示例: 你有一个外部库,它接受参数中的数组,处理它并返回一个数组,如index => boolean(或index => data)
例如:array(1 => false,2 => false,3 => true)...
答案 0 :(得分:1)
array_values()基本上会将关联数组转换为数字数组,同时保持顺序:
<?php
$a = array('jean' => 3, 'simon' => 2, 'alex' => 5, 'derek' => 4);
$values = array_values($a);
print_r($values);
?>
结果:
Array
(
[0] => 3
[1] => 2
[2] => 5
[3] => 4
)