获取PHP数组中唯一元素的键

shx*_*fee 11 php associative-array

关联数组的关键是动态生成的.我如何获得这样一个数组的"密钥"?

$arr = array ('dynamic_key' => 'Value');
Run Code Online (Sandbox Code Playgroud)

我知道可以通过这样的foreach循环访问它:

foreach ($arr as $key => $val) echo "Key value is $key";
Run Code Online (Sandbox Code Playgroud)

但是,我知道这个数组只有一个键,并且想避免使用foreach循环.是否可以以任何其他方式访问此元素的值?或者获得关键名称?

Vol*_*erK 14

编辑:http://php.net/each说:

警告此功能自PHP 7.2.0起已废弃.非常不鼓励依赖此功能.


使用key()很好.
如果你要获取值,你也可以使用each()list().

$arr = array ('dynamic_key' => 'Value');
list($key, $value) = each($arr);
echo $key, ' -> ', $value, "\n";
Run Code Online (Sandbox Code Playgroud)

版画 dynamic_key -> Value

  • PolGraphic:"最后一行应该是" - 不,它不应该.不需要在那里进行连接.您可以将几乎无限数量的以逗号分隔的参数传递给echo. (4认同)

Vil*_*los 7

最短、最简单和最独立的解决方案是:

$key   = key($arr);
$value = reset($arr);
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 6

$keys = array_keys($arr);
echo $keys[0];
Run Code Online (Sandbox Code Playgroud)

或者array_values()用于价值.