PHP现在支持直接从函数调用进行数组取消引用。
在5.4版之前,您必须将函数的返回值存储到变量中,然后使用该变量。
最常见的用法是使用“ preg_match”或“ explode”类型的函数(返回数组的函数)。因此,而不是以下内容:
$data = "piece1 piece2 piece3 piece4"; $pieces = explode(" ", $data); echo $pieces[0]; // 件1 echo $pieces[1]; // 件2
我们可以将其缩短为:
$data = "piece1 piece2 piece3 piece4"; echo explode(" ", $data)[0];
使用' getdate()'函数的另一个示例。
#不对函数数组进行解引用
date_default_timezone_set('Asia/Kolkata'); $temp = getdate(); echo $temp['year']; echo $temp['mon'];
#使用函数数组解引用
date_default_timezone_set('Asia/Kolkata'); echo getdate()['mon']; You can use the above in a conditional as shown below: date_default_timezone_set('Asia/Kolkata'); if(getdate()['mon'] == 4) { echo "Month of April"; }
使用自定义函数的另一个示例。
function getColors () { return [ 'red' => '#FF0000', 'green' => '#00FF00', 'blue' => '#0000FF' ]; } echo getColors()['green']; // 返回#00FF00