这是PHP中的不良做法吗?

时间:2018-10-01 19:55:43

标签: php arrays

假设someMethod()返回一个数组,并且我知道索引:

$myVar = $this->someMethod()['some_response_index']; 这是个坏主意吗?

代替这样做:

$result = $this->someMethod(); $myVar = $result['some_response_index'];

2 个答案:

答案 0 :(得分:5)

不,这不是一个坏主意,因为很清楚您要实现的目标。它称为“ Array Dereferencing”,自PHP 5.4起可用

答案 1 :(得分:0)

好吧,这是一个分为几部分的答案。自5.4起,您可以使用它是有效的PHP,如果您知道返回数组,则不会遇到运行时错误,并且可以正常运行

再次,为了便于阅读,如果其他人会看您的代码,并且取决于您对语言的熟练程度,可能不是很清楚。

但最终,这是个人喜好。就像写东西一样

echo (new MyString('Hello World'))->replace('Hello', 'Foo')->replace('World', 'Bar');

有效的PHP,但对于某些人可能无法立即清除正在发生的情况。

如果我看到了您的代码,则很可能会遵循该函数并检查其返回的内容,那么这一切都将变得有意义。