2016-02-23 2 views
1

У меня есть пять массивов, которые мне нужны для создания всех возможностей. В целях простоты, позвольте мне показать, с тремя:Как получить все возможности из нескольких массивов?

$material = array("cotton","polyester"); 
$size = array("small", "medium", "large"); 
$color = array("blue", "red", "green", "black"); 

Я хочу, чтобы придумать многомерный массив, который содержит все возможности:

cotton, small, blue 
cotton, small, red 
cotton, small, green 
cotton, small, black 
cotton, medium, blue 
cotton, medium, red 
cotton, medium, green 
cotton, medium, black 
cotton, large, blue 
cotton, large, red 
cotton, large, green 
cotton, large, black 
polyester, small, blue 
polyester, small, red 
polyester, small, green 
polyester, small, black 
polyester, medium, blue 
polyester, medium, red 
polyester, medium, green 
polyester, medium, black 
polyester, large, blue 
polyester, large, red 
polyester, large, green 
polyester, large, black 

Как мне это сделать?

+0

Вы желаете, декартово произведение. Эта ссылка имеет метод общего назначения, который может обрабатывать любое количество элементов. http://stackoverflow.com/questions/2516599/php-2d-array-output-all-combinations –

ответ

0

Попробуйте это.

$combinations = array(); 
foreach ($material as $value1) { 
    foreach ($size as $value2) { 
     foreach ($color as $value3) { 
      combinations[] = array($value1,$value2,$value3); 
     } 
    } 
} 
0

это работало для меня

$material = array("cotton","polyester"); 
    $size = array("small", "medium", "large"); 
    $color = array("blue", "red", "green", "black"); 

    foreach ($material as $a) { 

     foreach ($size as $b) { 

      foreach ($color as $c) { 

       $test = $a. ','. $b. ','.$c; 
      } 
     } 
    } 
Смежные вопросы