使用list
或一个接一个地分配值是否更好(更安全/更具可读性)?
示例:
使用list
:
$head = '';
if(strpos($data, "\r\n") !== false)
list($status, $head) = explode("\r\n", $data, 2);
else
$status = $data;
没有list
:
$head = '';
$components = explode("\r\n", $data, 2);
$status = $components[0];
if(count($components) === 2) //Or isset($components[1])
$head = $components[1];
编写这段代码的首选方法是什么?
答案 0 :(得分:1)
根据用例list
可能会导致问题。然而,传统上定义值不会。
来自http://PHP.net的说明:
list()
仅适用于数值数组,并假设数字索引从0开始。
list()
执行期间对数组的修改(例如使用list($ a,$ b)= $ b)会导致未定义的行为。
。 。 。如果你使用带索引的数组,你通常期望数组中索引的顺序与你在list()中从左到右写的顺序相同;它不是。它以相反的顺序分配。
显然使用list
可能会导致一些意外行为,这绝对不是最常用的方法。这使得list
对可读性不利,因为它不合常规。
据我所知,使用list
有没有的好处,我认为它更慢。