3v4l.org

run code in 300+ PHP versions simultaneously
<?php $Rules = array( "Outlook" => array("Sunny" => array("No" => 2), "Overcast" => array("Yes" => 1), "Rainy" => array("Yes" => 1) ), "Temp" => array("Hot" => array("No" => 2, "Yes" => 1), "Mild" => array("Yes" => 1) ) ); $filling = array(); $fill_play = array(); foreach($Rules as $key => $value){ $in = 0; $in_play = 0; foreach($value as $keys => $values){ $key_value = array_keys($values); for($j = 0; $j < count($key_value); $j++){ for($i = 0; $i < $values[$key_value[$j]]; $i++){ $fill_play[$key][$in_play++] = $key_value[$j]; $filling[$key][$in++] = $keys; } } } } $yes_no = array(); for($i = 0; $i < 4; $i++) $yes_no[$i] = 0; foreach($fill_play as $key => $value){ for($i = 0; $i < 4; $i++){ if($value[$i] == 'No') $yes_no[$i] -= 1; else $yes_no[$i] += 1; } } foreach($yes_no as $key => $value){ if($value >= 0) $filling['Play'][$key] = 'Yes'; else $filling['Play'][$key] = 'No'; } echo '<pre>'; print_r($filling); echo '</pre>'; ?>
Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 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
<pre>Array ( [Outlook] => Array ( [0] => Sunny [1] => Sunny [2] => Overcast [3] => Rainy ) [Temp] => Array ( [0] => Hot [1] => Hot [2] => Hot [3] => Mild ) [Play] => Array ( [0] => No [1] => No [2] => Yes [3] => Yes ) ) </pre>

preferences:
146.99 ms | 409 KiB | 5 Q