PHP - 从数组中获取元素的索引

2022-08-30 14:47:54

如何在遍历数组时获取当前元素编号?

我知道count(),但我希望有一个内置的函数来获取当前的字段索引,而不必添加额外的计数器变量。

喜欢这个:

foreach($array as $key => value)
  if(index($key) == count($array) ....

答案 1

您应该使用 key() 函数。

key($array)

应返回当前密钥。

如果您需要当前键的位置:

array_search($key, array_keys($array));

答案 2

PHP 数组既是整数索引的,也是字符串索引的。您甚至可以将它们混合在一起:

array('red', 'green', 'white', 'color3'=>'blue', 3=>'yellow');

您希望该值的索引是什么?是3吗?但这实际上是值的索引,所以这将是一个模棱两可的。'blue''yellow'

另一种解决方案是将数组强制转换为整数索引的值列表。

foreach (array_values($array) as $i => $value) {
  echo "$i: $value\n";
}

输出:

0: red
1: green
2: white
3: blue
4: yellow