3v4l.org

run code in 300+ PHP versions simultaneously
<?php $amsterdam = [ 65 => [ 'something' => false, 'data' => [ 'foo' => 'boo', 'price' => 100 ] ], 173 => [ 'something' => false, 'data' => [ 'foo' => 'hoo', 'price' => 2500 ] ], ]; $prague = [ 132 => [ 'something' => false, 'data' => [ 'foo' => 'boo', 'price' => 2100 ] ], 956 => [ 'something' => false, 'data' => [ 'foo' => 'hoo', 'price' => 2500 ] ], ]; $lisboa = [ 175 => [ 'something' => false, 'data' => [ 'foo' => 'boo', 'price' => 6500 ] ], 64 => [ 'something' => false, 'data' => [ 'foo' => 'hoo', 'price' => 20 ] ], ]; $cities = [ 'amsterdam' => $amsterdam, 'prague' => $prague, 'lisboa' => $lisboa ]; function getMinimumPrice($cityArray) { return array_reduce($cityArray, function($carry, $item) { return $carry === 0 ? $item['data']['price'] : min($carry, $item['data']['price']); }, 0); } uasort($cities, function($city1, $city2) { $priceCity1 = getMinimumPrice($city1); $priceCity2 = getMinimumPrice($city2); return $priceCity1 <=> $priceCity2; }); var_dump($cities);
Output for git.master, git.master_jit, rfc.property-hooks
array(3) { ["lisboa"]=> array(2) { [175]=> array(2) { ["something"]=> bool(false) ["data"]=> array(2) { ["foo"]=> string(3) "boo" ["price"]=> int(6500) } } [64]=> array(2) { ["something"]=> bool(false) ["data"]=> array(2) { ["foo"]=> string(3) "hoo" ["price"]=> int(20) } } } ["amsterdam"]=> array(2) { [65]=> array(2) { ["something"]=> bool(false) ["data"]=> array(2) { ["foo"]=> string(3) "boo" ["price"]=> int(100) } } [173]=> array(2) { ["something"]=> bool(false) ["data"]=> array(2) { ["foo"]=> string(3) "hoo" ["price"]=> int(2500) } } } ["prague"]=> array(2) { [132]=> array(2) { ["something"]=> bool(false) ["data"]=> array(2) { ["foo"]=> string(3) "boo" ["price"]=> int(2100) } } [956]=> array(2) { ["something"]=> bool(false) ["data"]=> array(2) { ["foo"]=> string(3) "hoo" ["price"]=> int(2500) } } } }

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:
126.14 ms | 409 KiB | 5 Q