我有一个函数,我需要它返回两个数组。
我知道一个函数只能返回一个变量..有没有办法返回我的两个数组?
如果我将它们连接起来,在函数之外如何将它们干净地分开?
我有一个函数,我需要它返回两个数组。
我知道一个函数只能返回一个变量..有没有办法返回我的两个数组?
如果我将它们连接起来,在函数之外如何将它们干净地分开?
无需连接:只需返回两个数组的数组,如下所示:
function foo() {
return array($firstArray, $secondArray);
}
...然后您将能够使用list将这些数组分配给局部变量,如下所示:
list($firstArray, $secondArray) = foo();
如果你使用 PHP 5.4,你也可以在这里使用数组快捷语法:
function foo54() {
return [$firstArray, $secondArray];
}
我认为raina77ow 的回答充分回答了您的问题。要考虑的另一个选项是使用写入参数。
function foobar(array &$arr1 = null)
{
if (null !== $arr1) {
$arr1 = array(1, 2, 3);
}
return array(4, 5, 6);
}
然后,调用:
$arr1 = array();
$arr2 = foobar($arr1);
如果您总是需要返回两个数组,这将没有用,但它可用于始终返回一个数组并仅在某些情况下返回另一个数组。