如何在 PHP 中访问数组的第 N 个元素
我很尴尬地问这个问题,这很可能是重复的,但我的谷歌结果很短(我猜我搜索不正确),这样一个基本问题让我很生气。
我有一个数组,其中包含我不知道的值。
在java中,要看一下第2个条目,我会使用类似的东西
var = array[1]
我知道Php数组是键值对,但是我怎么能简单地查看数组中的第n个值来查看它的键值对,甚至更好,然后只访问键/值?
我很尴尬地问这个问题,这很可能是重复的,但我的谷歌结果很短(我猜我搜索不正确),这样一个基本问题让我很生气。
我有一个数组,其中包含我不知道的值。
在java中,要看一下第2个条目,我会使用类似的东西
var = array[1]
我知道Php数组是键值对,但是我怎么能简单地查看数组中的第n个值来查看它的键值对,甚至更好,然后只访问键/值?
如果您的键是数字,那么它的工作原理完全相同:
$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;
}
如果要在不知道索引的情况下访问第 n 个元素,可以使用 next() n 次来访问第 n 个元素。
for($i = 0; $i<$n; $i++){
$myVal = next();
}
echo $myVal;
还有其他方法可以访问特定元素,@deceze已经提到过。