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

发布于 2024-08-21 21:00:39 字数 295 浏览 4 评论 0原文

关联数组的键是动态生成的。如何获得这样一个数组的“Key”?

$arr = array ('dynamic_key' => 'Value');

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

foreach ($arr as $key => $val) echo "Key value is $key";

但是,我知道该数组只有一个键并且希望避免 foreach 循环。是否可以通过其他方式访问该元素的值?或者获取密钥名称?

The key of the associative array is dynamically generated. How do I get the "Key" of such an array?

$arr = array ('dynamic_key' => 'Value');

I am aware that It is possible to access it through a foreach loop like this:

foreach ($arr as $key => $val) echo "Key value is $key";

However, I know that this array will have only one key and want to avoid a foreach loop. Is it possible to access the value of this element in any other way? Or get the key name?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

好听的两个字的网名 2024-08-28 21:00:39

编辑: 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";

打印 dynamic_key ->值

edit: http://php.net/each says:

each

Warning This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.


Using key() is fine.
If you're going to fetch the value anyway you can also use each() and list().

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

prints dynamic_key -> Value

彼岸花ソ最美的依靠 2024-08-28 21:00:39

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

$key   = key($arr);
$value = reset($arr);

Shortest, easiest and most independent solution is:

$key   = key($arr);
$value = reset($arr);
月亮是我掰弯的 2024-08-28 21:00:39
$keys = array_keys($arr);
echo $keys[0];

或者使用 array_values() 作为值。

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

Or use array_values() for the value.

朱染 2024-08-28 21:00:39

您可以使用 array_shift(array_keys($arr)) (使用 array_values 来获取值),但它仍然在内部进行循环。

You can use array_shift(array_keys($arr)) (with array_values for getting the value), but it still does a loop internally.

紫罗兰の梦幻 2024-08-28 21:00:39

array_keys() 怎么样?

但它确实返回一个数组...

What about array_keys()?

It does return an array though...

小忆控 2024-08-28 21:00:39

你的意思是你有进入的价值并且想要获得钥匙吗?

array_search ($value, $array) 

如果是,则返回针的密钥
在数组中找到,否则为 FALSE。

如果大海捞针发现更多
不止一次,第一个匹配的键是
回来了。归还所有人的钥匙
匹配值,使用 array_keys() 与
可选的 search_value 参数
相反。

更多细节:
http://php.net/manual/en/function.array-search。 php

do you mean that you have the value of entry and want to get the key ?

array_search ($value, $array) 

Returns the key for needle if it is
found in the array, FALSE otherwise.

If needle is found in haystack more
than once, the first matching key is
returned. To return the keys for all
matching values, use array_keys() with
the optional search_value parameter
instead.

more details :
http://php.net/manual/en/function.array-search.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文