【发布时间】:2016-01-20 03:12:23
【问题描述】:
是否有任何函数可以返回,例如,没有任何循环的关联数组的第三个元素? (并且不复制数组)
我知道我可以与计数器一起执行 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)
例如:数组(1=>false, 2=>false, 3=>true)...
【问题讨论】:
标签: php arrays associative-array