是否有任何函数可以返回,例如,关联数组的第三个元素而不需要任何循环?(并且不复制数组)
我知道我可以做一个for/foreach循环和一个计数器,但我只是好奇。
PS:我已经找到了这个例子,但我期待的东西从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:我也找到了这个答案,但是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)
。:数组(1 =>假,2 => false, 3 => true)…
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
)