5

我有以下数组:

$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'];不起作用,因为这会返回: Array

编辑:我想选择键本身而不是数组编号。这可能吗?

提前致谢!

4

8 回答 8

7
print_r(array_keys($extensions));
于 2012-11-21T09:27:54.540 回答
3

php 5.4
echo array_keys($extensions)[0];

php 5.3
$keys = array_keys($extensions); echo $keys[0];

于 2012-11-21T09:27:15.123 回答
1

如果你只想 1 个输出

$arrext = array_keys($extensions);
print_r($arrext[0]);
于 2012-11-21T09:33:51.603 回答
1

只有在未知密钥时才需要回显密钥。如果您知道密钥,就像您在问题中描述的那样:“echo $extensions['.com'];” 您可能最好尝试一下: echo ".com";

但是,如果您不认识它们并且想要输出例如第一个,您可以这样做:

<?php
$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'),
);
$keys = array_keys($extensions);
echo $keys[0]; //will output ".info"
?>
于 2012-11-21T09:36:49.567 回答
0

使用array_keys将为您获取所有密钥。

例如,

 
  $array = array_keys($extensions);
 

然后你可以简单地打电话

 
  print $array[0];    //displays .info
  echo $array[1];  // displays .com
  echo $array[2];  // displays .net
 
于 2012-11-21T09:35:45.247 回答
0

我认为您真正想要的是key($extensions),问题是您无法使用 key() 选择数组位置,因此您必须使用循环或将所有键分配到一个新数组中,就像其他解决方案一样。

移动指针的唯一方法是使用next()、或prev(),它将指针 1 移动到数组的左/右位置,或数组的第一个/最后一个元素reset()end()

于 2012-11-21T09:46:46.053 回答
0

如果它对其他人有帮助,您也可以将其“速记”为:

echo array_keys($extensions)[0];
于 2014-08-08T05:40:57.013 回答
0

You could also the reset() function, which returns the first item in an array (and resets its internal pointer to the first element).

$keys = array_keys($extensions);
$first = reset($keys);
于 2019-08-07T08:19:40.373 回答