3v4l.org

run code in 300+ PHP versions simultaneously
<?php $args = array( 'a' => array( 'zebra' => 1, ), 'b' => array( 'zebra' => 0, ), 'c' => array( 'zebra' => 0, ), 'd' => array( 'zebra' => 0, ), 'e' => array( 'zebra' => 1, ), ); $zeros = []; $ones = []; foreach($args as $let=>$arg){ if ($arg['zebra'] === 1) { $ones[] = $let; } else if ($arg['zebra'] === 0) { $zeros[] = $let; } } $res = []; if(abs(count($zeros) - count($ones)) === 1) { if (count($ones) > count($zeros)){ foreach($zeros as $ind=>$let){ $res[$ones[$ind]] = ['zebra' => 1]; $res[$let] = ['zebra' => 0]; $tmp = $ind; } $res[$ones[$tmp+1]] = ['zebra' => 1]; } else if (count($ones) < count($zeros)){ foreach($ones as $ind=>$let){ $res[$zeros[$ind]] = ['zebra' => 0]; $res[$let] = ['zebra' => 1]; $tmp = $ind; } $res[$zeros[$tmp+1]] = ['zebra' => 0]; } } print_r($res);
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [b] => Array ( [zebra] => 0 ) [a] => Array ( [zebra] => 1 ) [c] => Array ( [zebra] => 0 ) [e] => Array ( [zebra] => 1 ) [d] => Array ( [zebra] => 0 ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
37.83 ms | 406 KiB | 5 Q