在php中访问没有方括号的数组值

amb*_*amb 7 php arrays square-bracket

在php中如何在不使用键周围的方括号的情况下访问数组的值?我的特殊问题是我想访问函数返回的数组元素.假设函数(args)返回一个数组.为什么$ var = function(args)[0]; 关于方括号向我大吼大叫?我可以做一些像$ var = function(args).value(0); 还是我错过了一些非常基本的东西?

nic*_*ckf 10

正如其他人所说,你几乎必须使用一个临时变量:

$temp = myFunction();
$value = $temp[0];
Run Code Online (Sandbox Code Playgroud)

但是,如果知道返回的数组的结构,则可以避免临时变量.

如果你只想要第一个成员:

$value = reset(myFunction());
Run Code Online (Sandbox Code Playgroud)

如果你想要最后一个成员:

$value = end(myFunction());
Run Code Online (Sandbox Code Playgroud)

如果你想要其中任何一个:

// second member
list(, $value) = myFunction();

// third
list(, , $value) = myFunction();

// or if you want more than one:

list(, , $thirdVar, , $fifth) = myFunction();
Run Code Online (Sandbox Code Playgroud)