这更像是一个最佳实践问题:
假设我想在 foreach 语句中执行两个函数(以组合这些函数的返回以用作循环的单个元素),我是否会将它们组合在语句中,例如:
foreach(function1($data).function2($data) AS $key=>$value)
还是有更好的方法来做到这一点?
如果function1和function2返回数组,则:
foreach(array_merge(function1($data),function2($data)) AS $key=>$value)
首先,数组与+
or连接array_merge()
,点仅用于字符串,所以你会得到字符串“ArrayArray”。
其次,为了更好的可读性和可维护性,您应该将函数调用和循环初始化分开:
$fileList = function1($data);
$fileList += function2($data);
foreach($fileLists AS $key=>$value) {
}
请注意,这不会影响代码的结果或性能,它只是有助于调试和理解(顺便说一句,这通常更重要)。