2013-04-02 2 views
-4

я застрял на одном месте, где у меня есть 3 массивов, как показано ниже:Создание нескольких массивов из существующего массива

$c = array("red","green","blue"); 
$s = array("12","13","14"); 
$l = array("3","4","5"); 

На основе этого массива Мне нужны массивы, такие как:

$one = array("red", "12", "3"); 
$two = array("red", "12", "4"); 
$three = array("red", "12", "5"); 
$three = array("red", "13", "3"); 
........... 

То же мне нужно создайте массив, который включает все комбинации из 3-х массивов.

Я попытался создать, перейдя через все, но может ли кто-нибудь сказать мне лучшее решение или существующую функцию php для этого.

+0

«зацикливания через все» решение должно быть только около 4 строк кода, почему вы ищете что-то «лучше»? – meagar

+0

Спасибо @deceze, это лучшее решение, чем я сделал – Ketan

ответ

0

Существует вспомогательный класс для этого:

https://github.com/noptic/co3/blob/master/src/daliaIT/co3/util/generator/ArrayGenerator.php

пакет больше не поддерживаетс, но вы можете удалить интерфейс «IInject» и «впрыснуть» метод и использовать его в качестве отдельного класса.

Класс может быть повторен с помощью foreach без создания всех комбинаций в памяти.

Если вам нужен «настоящий» массив вызова метода «ToArray»

Смежные вопросы