我有以下数组:
$extensions = array(
'.info' => array('whois.afilias.net','NOT FOUND'),
'.com' => array('whois.verisign-grs.com','No match for'),
'.net' => array('whois.crsnic.net','No match for'),
'.co.uk' => array('whois.nic.uk','No match'),
'.nl' => array('whois.domain-registry.nl','is free'),
);
如何在没有foreach循环的情况下回显'.com'或'. co.uk'(不是'.com'或'. co.uk'内部的数组,而是TLD)。echo $extensions['.com'];
不起作用,因为它返回:阵列
**编辑:**我想选择密钥本身,而不是数组号。这可能吗?
先谢谢你了!
9条答案
按热度按时间yr9zkbsy1#
f0ofjuux2#
php 5.4
echo array_keys($extensions)[0];
PHP 5.3
$keys = array_keys($extensions); echo $keys[0];
utugiqy63#
如果您只想要1个输出
wi3ka0sx4#
只有在密钥未知时才需要回显密钥。如果你知道密钥,就像你在问题中描述的那样:“echo $extensions['.com'];“你最好还是试试看“.com”;
但是如果你不知道它们,并且想要输出例如第一个,你可以这样做:
yyhrrdl85#
使用array_keys将为您获取所有密钥。
比如说
然后你可以简单地调用
gkl3eglg6#
我认为你真正想要的是
key($extensions)
,问题是你不能用key()来选择数组的位置,所以你必须使用一个循环或者像其他解决方案一样将所有的键分配到一个新的数组中。移动指针的唯一方法是使用
next()
、prev()
、reset()
或end()
,这会将指针在数组上向左/向右移动1个位置,或者将指针移动到数组的第一个/最后一个元素kpbwa7wx7#
如果它帮助了其他人,你也可以“速记”如下:
jgzswidk8#
也可以使用reset()函数,它返回数组中的第一个元素(并将其内部指针重置为第一个元素)。
n1bvdmb69#
您可以简单地使用array_key_first(PHP 7 >= 7.3.0,PHP 8)。