PHP函数返回两个数组

Posted

技术标签:

【中文标题】PHP函数返回两个数组【英文标题】:PHP function returning two arrays 【发布时间】:2012-11-10 14:35:25 【问题描述】:

我有一个函数,我需要它返回两个数组。

我知道一个函数只能返回一个变量.. 有没有办法返回我的两个数组?

如果我将它们连接起来,在函数之外如何将它们干净地分开?

【问题讨论】:

实际上与接受的答案相同,只是有更多解释:***.com/questions/3451906/… 【参考方案1】:

无需连接:只需返回两个数组的数组,如下所示:

function foo() 
    return array($firstArray, $secondArray);

...那么您将能够将这些数组分配给带有list 的局部变量,如下所示:

list($firstArray, $secondArray) = foo();

如果你使用 php 5.4,你也可以在这里使用数组快捷语法:

function foo54() 
    return [$firstArray, $secondArray];

【讨论】:

【参考方案2】:

我认为raina77ow 的回答充分回答了您的问题。另一个需要考虑的选项是使用写入参数。

function foobar(array &$arr1 = null)

    if (null !== $arr1) 
        $arr1 = array(1, 2, 3);
    

    return array(4, 5, 6);

然后,调用:

$arr1 = array();
$arr2 = foobar($arr1);

如果您总是需要返回两个数组,这将没有用,但它可用于始终返回一个数组并仅在某些情况下返回另一个数组。

【讨论】:

以上是关于PHP函数返回两个数组的主要内容,如果未能解决你的问题,请参考以下文章

PHP常用函数

使用 PHP 函数比较两个数组以找出差异

PHP数组函数

php常用的数组函数

求数组差/交集函数-php数组函数

php 二维数组按某个字段排序