3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '[{"id":37,"slug":"red","stock":true,"name":"Red","default":0,"sizes":"38"},{"id":38,"slug":"red","stock":true,"name":"Red","default":0,"sizes":"40"},{"id":34,"slug":"red","stock":true,"name":"Red","default":0,"sizes":"36"},{"id":26,"slug":"green","stock":true,"name":"Green","default":0,"sizes":"48"}]'; $array = json_decode($json,1); $expected = []; foreach($array as $v) { $expected[$v['slug']][] = $v; } $expected_v2 = []; foreach($expected as $k1=>$v1) { array_push($expected_v2,['slug'=>$k1,'name'=>ucfirst($k1),'sizes'=>$v1]); } print_r($expected_v2); echo json_encode($expected_v2); ?>
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [slug] => red [name] => Red [sizes] => Array ( [0] => Array ( [id] => 37 [slug] => red [stock] => 1 [name] => Red [default] => 0 [sizes] => 38 ) [1] => Array ( [id] => 38 [slug] => red [stock] => 1 [name] => Red [default] => 0 [sizes] => 40 ) [2] => Array ( [id] => 34 [slug] => red [stock] => 1 [name] => Red [default] => 0 [sizes] => 36 ) ) ) [1] => Array ( [slug] => green [name] => Green [sizes] => Array ( [0] => Array ( [id] => 26 [slug] => green [stock] => 1 [name] => Green [default] => 0 [sizes] => 48 ) ) ) ) [{"slug":"red","name":"Red","sizes":[{"id":37,"slug":"red","stock":true,"name":"Red","default":0,"sizes":"38"},{"id":38,"slug":"red","stock":true,"name":"Red","default":0,"sizes":"40"},{"id":34,"slug":"red","stock":true,"name":"Red","default":0,"sizes":"36"}]},{"slug":"green","name":"Green","sizes":[{"id":26,"slug":"green","stock":true,"name":"Green","default":0,"sizes":"48"}]}]

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:
31.73 ms | 415 KiB | 5 Q