引用返回数组值的良好做法


Good practice for referencing returned array values

这是我以前从未见过的,但它似乎是受支持的,而且它确实有效,在调用提供函数后直接引用返回的数组键。但是。。。这种做法好吗?将来会支持吗?这个有名字吗?

<?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')
}