fork download
  1. <?php
  2.  
  3. function product($x1, $x2) {
  4. $result = array();
  5. foreach ($x1 as $key1 => $value1)
  6. foreach ($x2 as $key2 => $value2)
  7. $result[$key1][$key2] = array($value1, $value2);
  8. return $result;
  9. }
  10.  
  11. function print_product($x) {
  12. $tmp = array();
  13. foreach($x as $row) {
  14. $tmp = array_merge($tmp, array_map(function($value){
  15. return implode('-', $value);
  16. }, $row));
  17. }
  18. return $tmp;
  19. }
  20.  
  21. $items = array('palto','noski','shapki');
  22. $colors = array('red','black','white');
  23. $materials = array('kozha','meh','aluminij');
  24.  
  25. echo implode("<br/>\n",
  26. print_product(product(
  27. print_product(product(
  28. $items,
  29. $colors
  30. )),
  31. $materials)
  32. ));
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
palto-red-kozha<br/>
palto-red-meh<br/>
palto-red-aluminij<br/>
palto-black-kozha<br/>
palto-black-meh<br/>
palto-black-aluminij<br/>
palto-white-kozha<br/>
palto-white-meh<br/>
palto-white-aluminij<br/>
noski-red-kozha<br/>
noski-red-meh<br/>
noski-red-aluminij<br/>
noski-black-kozha<br/>
noski-black-meh<br/>
noski-black-aluminij<br/>
noski-white-kozha<br/>
noski-white-meh<br/>
noski-white-aluminij<br/>
shapki-red-kozha<br/>
shapki-red-meh<br/>
shapki-red-aluminij<br/>
shapki-black-kozha<br/>
shapki-black-meh<br/>
shapki-black-aluminij<br/>
shapki-white-kozha<br/>
shapki-white-meh<br/>
shapki-white-aluminij