在PHP中查找数组文字

在PHP中查找数组文字,php,arrays,lookup,literals,Php,Arrays,Lookup,Literals,查找数组很简单: $array = array(0 => 'Zero', 1 => 'One', 2 => 'Two'); $text = $array[2]; // $text = 'Two' 但是如果我不想要中间的$array变量,是否有任何内置的方法使查找成为数组文字 例子 $text = array(0 => 'Zero', 1 => 'One', 2 => 'Two')[2]; // Syntax error $text = array_value

查找数组很简单:

$array = array(0 => 'Zero', 1 => 'One', 2 => 'Two');
$text = $array[2]; // $text = 'Two'
但是如果我不想要中间的$array变量,是否有任何内置的方法使查找成为数组文字

例子

$text = array(0 => 'Zero', 1 => 'One', 2 => 'Two')[2]; // Syntax error
$text = array_value(2, array(0 => 'Zero', 1 => 'One', 2 => 'Two')); // Unknown command

从PHP5.5开始,您可以执行以下操作:

$text = array(0 => 'Zero', 1 => 'One', 2 => 'Two')[2];
对于低于5.5的版本,您必须自己编写一个函数,如
array\u value()
,因为它没有内置函数。像这样:

function array_value($key, $array) {
    if(!array_key_exists($key, $array)) {
        throw new Exception('Array has no index ' . $key);
    }

    return $array[$key];
}

从PHP5.5开始,您可以执行以下操作:

$text = array(0 => 'Zero', 1 => 'One', 2 => 'Two')[2];
对于低于5.5的版本,您必须自己编写一个函数,如
array\u value()
,因为它没有内置函数。像这样:

function array_value($key, $array) {
    if(!array_key_exists($key, $array)) {
        throw new Exception('Array has no index ' . $key);
    }

    return $array[$key];
}
另一个解决方案:

$array = array(0 => 'Zero', 1 => 'One', 2 => 'Two');
$pos = 2;

echo current(array_slice($array, $pos, 1));
另一个解决方案:

$array = array(0 => 'Zero', 1 => 'One', 2 => 'Two');
$pos = 2;

echo current(array_slice($array, $pos, 1));

嗯,这是一个快速的回答。我被5.3困住了,所以我想解决办法到时候就得做了。谢谢<代码>我被5.3卡住了我也是;)但我等不及了。5@Coderanonymous是个打字错误,修正了。谢谢嗯,这是一个快速的回答。我被5.3困住了,所以我想解决办法到时候就得做了。谢谢<代码>我被5.3卡住了我也是;)但我等不及了。5@Coderanonymous是个打字错误,修正了。谢谢