3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sortInfo = [ ['maincat' => 'c1', 'subcats' => ['sc1.1', 'sc1.2']], ['maincat' => 'c2', 'subcats' => ['sc2.1', 'sc2.2']], ['maincat' => 'c3', 'subcats' => ['sc3.1', 'sc3.2']], ['maincat' => 'c4', 'subcats' => ['sc4.1', 'sc4.2']], ['maincat' => 'c5', 'subcats' => ['sc5.1', 'sc5.2']], ]; function get_cats(array $sortInfo, $mode) { $cats = match($mode) { 'all' => array_merge( array_column($sortInfo, 'maincat'), ...array_column($sortInfo, 'subcats') ), 'sub' => array_merge(...array_column($sortInfo, 'subcats')), default => array_column($sortInfo, 'maincat') }; return $cats; } $cats = get_cats($sortInfo, 'all'); var_dump($cats); $cats = get_cats($sortInfo, 'sub'); var_dump($cats); $cats = get_cats($sortInfo, 'main'); var_dump($cats);
Output for git.master, git.master_jit, rfc.property-hooks
array(15) { [0]=> string(2) "c1" [1]=> string(2) "c2" [2]=> string(2) "c3" [3]=> string(2) "c4" [4]=> string(2) "c5" [5]=> string(5) "sc1.1" [6]=> string(5) "sc1.2" [7]=> string(5) "sc2.1" [8]=> string(5) "sc2.2" [9]=> string(5) "sc3.1" [10]=> string(5) "sc3.2" [11]=> string(5) "sc4.1" [12]=> string(5) "sc4.2" [13]=> string(5) "sc5.1" [14]=> string(5) "sc5.2" } array(10) { [0]=> string(5) "sc1.1" [1]=> string(5) "sc1.2" [2]=> string(5) "sc2.1" [3]=> string(5) "sc2.2" [4]=> string(5) "sc3.1" [5]=> string(5) "sc3.2" [6]=> string(5) "sc4.1" [7]=> string(5) "sc4.2" [8]=> string(5) "sc5.1" [9]=> string(5) "sc5.2" } array(5) { [0]=> string(2) "c1" [1]=> string(2) "c2" [2]=> string(2) "c3" [3]=> string(2) "c4" [4]=> string(2) "c5" }

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:
111.34 ms | 407 KiB | 5 Q