Функция PHP возвращает два массива У меня есть функция, и мне нужно вернуть два массива. Я знаю, что функция может возвращать только одну переменную.. есть ли способ вернуть мои два массива? Если я их конкатенирую, как я могу отделить их от использования функции? Ответ 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); Это не будет полезно, если вам всегда нужно возвращать два массива, но он может использоваться, чтобы всегда возвращать один массив и возвращать другой только в определенных случаях.
Ответ 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); Это не будет полезно, если вам всегда нужно возвращать два массива, но он может использоваться, чтобы всегда возвращать один массив и возвращать другой только в определенных случаях.