PHP语法用于解引用函数结果
在我定期使用的所有其他编程语言中,无需声明新变量即可保存函数结果就可以对函数的返回值进行操作。
但是,在PHP中,这似乎并不那么简单:
example1(函数结果是一个数组)
<?php function foobar(){
return preg_split('/\s+/', 'zero one two three four five');
}
// can php say "zero"?
/// print( foobar()[0] ); /// <-- nope
/// print( &foobar()[0] ); /// <-- nope
/// print( &foobar()->[0] ); /// <-- nope
/// print( "${foobar()}[0]" ); /// <-- nope
?>
example2(函数结果是一个对象)
<?php function zoobar(){
// NOTE: casting (object) Array() has other problems in PHP
// see e.g., http://stackoverflow.com/questions/1869812
$vout = (object) Array('0'=>'zero','fname'=>'homer','lname'=>'simpson',);
return $vout;
}
// can php say "zero"?
// print zoobar()->0; // <- nope (parse error)
// print zoobar()->{0}; // <- nope
// print zoobar()->{'0'}; // <- nope
// $vtemp = zoobar(); // does using a variable help?
// print $vtemp->{0}; // <- nope
回答:
这是专门用于数组解引用的功能,目前在php5.3中不支持该功能,但在下一个版本5.4中应该可以实现。另一方面,在当前的php版本中,对象取消引用是可能的。我也期待这个功能!
以上是 PHP语法用于解引用函数结果 的全部内容, 来源链接: utcz.com/qa/398440.html