関数があり、2つの配列を返すために必要です。
関数が返すことができる変数は1つだけだと知っていますが、2つの配列を返す方法はありますか?
それらを連結する場合、関数の外でそれらをきれいに分離するにはどうすればよいですか?
連結する必要はありません。次のように、2つの配列の配列を返すだけです。
function foo() {
return array($firstArray, $secondArray);
}
...次に、これらの配列を次のように list を使用してローカル変数に割り当てることができます。
list($firstArray, $secondArray) = foo();
また、PHP 5.4を使用している場合は、ここでも配列ショートカット構文を使用できます。
function foo54() {
return [$firstArray, $secondArray];
}
Raina77owの答えはあなたの質問に適切に答えると思います。考慮すべきもう1つのオプションは、書き込みパラメーターを使用することです。
function foobar(array &$arr1 = null)
{
if (null !== $arr1) {
$arr1 = array(1, 2, 3);
}
return array(4, 5, 6);
}
次に、呼び出すには:
$arr1 = array();
$arr2 = foobar($arr1);
alwaysが2つの配列を返す必要がある場合、これは役に立ちませんが、常に1つの配列を返し、特定の場合にのみもう1つの配列を返すために使用できます。