从纯编码最佳实践角度推荐采用什么作为中大型开发团队的标准?
返回顺序数组:
function get_results($filter) {
$query = "SELECT SQL_CALC_FOUND_ROWS, * FROM ...";
$results = ...
$total = ...
return array($results, $total);
}
返回一个关联数组:
function get_results($filter) {
$query = "SELECT SQL_CALC_FOUND_ROWS, * FROM ...";
$results = ...
$total = ...
return array(
'resuts' => $results,
'total' => $total
);
}
返回单个结果并按引用分配第二个结果(?!):
function get_results($filter, &$count = null) {
$query = "SELECT SQL_CALC_FOUND_ROWS, * FROM ...";
$results = ...
$total = ...
$count = $total;
return $results;
}
随意提出任何其他方法。
答案 0 :(得分:4)
从PHP文档:
函数不能返回多个值,但返回数组可以获得类似的结果。
鉴于文档陈述的内容,所有这些似乎都是很好的做法。 comment in the documentation显示另一种方式:使用list()
。请参阅以下示例:
function fn($a, $b)
{
# complex stuff
return array(
$a * $b,
$a + $b,
);
}
list($product, $sum) = fn(3, 4);
echo $product; # prints 12
echo $sum; # prints 7