9

从纯编码最佳实践的角度来看,推荐什么作为大中型开发团队的标准?

返回一个顺序数组:

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;
}

随意建议任何其他方法。

4

1 回答 1

8

来自 PHP 文档:

一个函数不能返回多个值,但是返回一个数组可以得到类似的结果。

鉴于文档所述,所有这些似乎都是好的做法。文档中的注释揭示了另一种方式:使用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
于 2015-06-16T15:42:03.290 回答