这是我以前从未见过的,但它似乎是受支持的,而且它确实有效,在调用提供函数后直接引用返回的数组键。但是。。。这种做法好吗?将来会支持吗?这个有名字吗?
<?php
function example_function() {
$return = array('part_1', 'part_2');
return $return;
}
$var = example_function()[0];
echo $var;
为了得到同样的结果,我通常会做以下
$var = example_function();
$var = $var[0];
它被称为数组取消引用。它从PHP 5.4开始就可用了。使用它是可以接受的,尽管有些人可能会说它降低了可读性。
只有当你确信你会一直得到数组来处理时才使用它
$ip = $this->getIP()[0];
我没有检查这个函数是否可以返回字符串,这导致了一些逻辑错误。现在每次当我想得到数组的项目时,我都会做
$ip = $this->getIP()
if(is_array($ip)) {
$ip = $ip[0];
} else {
throw new Exception('Expects array here')
}