使用list
或逐个赋值是否更好(更安全/更可读)?
例子:
With list
:
$head = '';
if(strpos($data, "rn") !== false)
list($status, $head) = explode("rn", $data, 2);
else
$status = $data;
Without list
:
$head = '';
$components = explode("rn", $data, 2);
$status = $components[0];
if(count($components) === 2) //Or isset($components[1])
$head = $components[1];
写这段代码的首选方法是什么?
根据用例list
可能最终导致您的问题。然而,按惯例定义这些值是行不通的。http://PHP.net:
list()
仅适用于数值数组,并假设数值索引从0开始。
.
在
list()
执行期间修改数组(例如使用list($a, $b) = $b)会导致未定义的行为。
.
. .如果你正在使用带有索引的数组,你通常期望数组中索引的顺序与你在list()中从左到右写的顺序相同;事实并非如此。它的赋值顺序是相反的
显然,使用list
可能会导致一些意想不到的行为,这绝对不是最常见的方法。这使得list
的可读性很差,因为它是非常规的。据我所知,使用list
没有任何好处,我认为它更慢。