这是我以前没有见过的东西,但它似乎得到了支持,它确实有效,在调用提供函数后直接引用返回的数组键。但是......这是一个好习惯吗?这将在未来得到支持吗?这甚至有名字吗?
<?php
function example_function() {
$return = array('part_1', 'part_2');
return $return;
}
$var = example_function()[0];
echo $var;
为了获得相同的结果,我通常会执行以下操作
$var = example_function();
$var = $var[0];
答案 0 :(得分:3)
它被称为Array Dereferencing。它一直是available since PHP 5.4。虽然有人可能会说它会降低可读性,但可以使用它。
答案 1 :(得分:0)
只有在您确定始终可以使用数组时才使用它。有时候我在一些scraper类中有以下代码:
$ip = $this->getIP()[0];
我没有检查此函数是否可以返回字符串,并且它导致了一些逻辑错误。现在,每当我想要获得数组的项目时,
$ip = $this->getIP()
if(is_array($ip)) {
$ip = $ip[0];
} else {
throw new Exception('Expects array here')
}