3v4l.org

run code in 300+ PHP versions simultaneously
<?php $var = [ 'TSHIRT' => [ 'farbe' => [ 'blau', 'rot' ], 'groesse' => [ '10cm' ], 'dicke' => [ '30cm dick' ], 'breite' => [ '40cm breit'] ] ]; $result = array(); $tmp = array(); foreach ($var as $articleKey => $articleVal) { $merkmalKeys = array_keys($articleVal); foreach ($articleVal as $merkmalKey=>$merkmalValue) { foreach($articleVal as $merkmalKey2=>$merkmalValue2) { if($merkmalKey2 == $merkmalKey) { continue; } foreach($merkmalValue as $b) { foreach($merkmalValue2 as $a) { $tmp[] = $articleKey . ' - ' . $b . ' / ' . $a; } } } } } var_dump($tmp);
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array(18) { [0]=> string(20) "TSHIRT - blau / 10cm" [1]=> string(19) "TSHIRT - rot / 10cm" [2]=> string(25) "TSHIRT - blau / 30cm dick" [3]=> string(24) "TSHIRT - rot / 30cm dick" [4]=> string(26) "TSHIRT - blau / 40cm breit" [5]=> string(25) "TSHIRT - rot / 40cm breit" [6]=> string(20) "TSHIRT - 10cm / blau" [7]=> string(19) "TSHIRT - 10cm / rot" [8]=> string(25) "TSHIRT - 10cm / 30cm dick" [9]=> string(26) "TSHIRT - 10cm / 40cm breit" [10]=> string(25) "TSHIRT - 30cm dick / blau" [11]=> string(24) "TSHIRT - 30cm dick / rot" [12]=> string(25) "TSHIRT - 30cm dick / 10cm" [13]=> string(31) "TSHIRT - 30cm dick / 40cm breit" [14]=> string(26) "TSHIRT - 40cm breit / blau" [15]=> string(25) "TSHIRT - 40cm breit / rot" [16]=> string(26) "TSHIRT - 40cm breit / 10cm" [17]=> string(31) "TSHIRT - 40cm breit / 30cm dick" }

preferences:
140.16 ms | 411 KiB | 5 Q