假设someMethod()
返回一个数组,并且我知道索引:
$myVar = $this->someMethod()['some_response_index'];
这是个坏主意吗?
代替这样做:
$result = $this->someMethod();
$myVar = $result['some_response_index'];
答案 0 :(得分:5)
不,这不是一个坏主意,因为很清楚您要实现的目标。它称为“ Array Dereferencing”,自PHP 5.4起可用
答案 1 :(得分:0)
好吧,这是一个分为几部分的答案。自5.4起,您可以使用它是有效的PHP,如果您知道返回数组,则不会遇到运行时错误,并且可以正常运行
再次,为了便于阅读,如果其他人会看您的代码,并且取决于您对语言的熟练程度,可能不是很清楚。
但最终,这是个人喜好。就像写东西一样
echo (new MyString('Hello World'))->replace('Hello', 'Foo')->replace('World', 'Bar');
有效的PHP,但对于某些人可能无法立即清除正在发生的情况。
如果我看到了您的代码,则很可能会遵循该函数并检查其返回的内容,那么这一切都将变得有意义。