如何在PHP中访问数组的第N个元素

时间:2014-07-18 12:40:06

标签: php arrays

我很尴尬地问这个并且它很可能是重复的,但是我的谷歌搜索结果很短(我猜错了我猜)并且这样一个基本问题激怒了我。

我有一个包含我不知道的值的数组。

在java中,要查看第二个条目,我会使用类似

的内容
var = array[1]

我理解Php数组是键值对,但我怎样才能简单地查看数组中的第n个值来查看它的键值对,甚至更好,然后只访问键/值?

3 个答案:

答案 0 :(得分:26)

如果您的密钥是数字,那么它的工作方式完全相同:

$arr = ['one', 'two', 'three']; // equivalent to [0 => 'one', 1 => 'two', 2 => 'three']
echo $arr[1]; // two

如果您的密钥不是数字或不连续数字,则会变得有点棘手:

$arr = ['one', 'foo' => 'bar', 42 => 'baz'];

如果您想知道

echo $arr['foo']; // bar

但是,如果你只知道偏移量,你可以试试这个:

$keys = array_keys($arr);
echo $arr[$keys[1]];

或者数字重新索引数组:

$values = array_values($arr);
echo $values[1];

或切片:

echo current(array_slice($arr, 1, 1));

尽管如此,你很可能想要在数组中循环,这通常是你对未知内容数组所做的。如果内容未知,那么您对某个特定偏移感兴趣似乎很奇怪。

foreach ($arr as $key => $value) {
    echo "$key: $value", PHP_EOL;
}

答案 1 :(得分:1)

如果要在不知道索引的情况下访问第n个元素,可以使用next() n 次来到达第n个元素。

for($i = 0; $i<$n; $i++){
    $myVal = next();
}
echo $myVal;

还有其他方法可以访问@deceze已经提到过的特定元素。

答案 2 :(得分:1)

如果要访问每个第N个元素:

dict_list = []
dict_list.append(dict)