3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = array ( 'header' => array ( 1 => array ( 0 => array ( 'col_pos' => 1, 'sortable' => 1, 'content' => 'Compare', 'ct_help' => 'Comparehelptext..' ), 1 => array ( 'col_pos' => 2, 'sortable' => 1, 'content' => 'Product', 'ct_help' => 'Producthelptext..' ), 2 => array ( 'col_pos' => 3, 'sortable' => 1, 'content' => 'TypeofCover', 'ct_help' => 'Typeofcoverhelptext..' ), 3 => array ( 'col_pos' => 4, 'sortable' => 1, 'content' => 'RoadsideAssistance', 'ct_help' => 'Roadsideassistancehelptext...' ), 4 => array ( 'col_pos' => 5, 'sortable' => 1, 'content' => 'NationwhideRecovery', 'ct_help' => 'NationwideRecoverhelptext...' ), 5 => array ( 'col_pos' => 9, 'sortable' => 1, 'content' => 'Price', 'ct_help' => 'Pricehelptext...' ), 6 => array ( 'col_pos' => 10, 'sortable' => 1, 'ct_help' => '' ) ) ), 'row' => array ( 2 => array ( 0 => array ( 'col_pos' => 1, 'sortable' => 0, 'content' => 'Logo', 'ct_help' => '' ), 1 => array ( 'col_pos' => 2, 'sortable' => 0, 'content' => 'Productcover2', 'sort_value' => 2, 'ct_help' => '' ), 2 => array ( 'col_pos' => 3, 'sortable' => 0, 'content' => 'Vehicle&Personal2', 'sort_value' => 2, 'ct_help' => '' ), 3 => array ( 'col_pos' => 4, 'sortable' => 0, 'content' => '<b>Yes</b>', 'sort_value' => 1, 'ct_help' => '' ), 4 => array ( 'col_pos' => 5, 'sortable' => 0, 'content' => 'No', 'sort_value' => 0, 'ct_help' => '' ), 5 => array ( 'col_pos' => 9, 'sortable' => 0, 'content' => 'from75GBP', 'sort_value' => 75, 'ct_help' => '' ), 6 => array ( 'col_pos' => 10, 'sortable' => 0, 'content' => '<ahref=\\"#2\\">Visitsite></a>', 'ct_help' => '' ), ), 3 => array ( 0 => array ( 'col_pos' => 1, 'sortable' => 0, 'content' => 'Logo', 'ct_help' => '' ), 1 => array ( 'col_pos' => 2, 'sortable' => 0, 'content' => 'Productcover3', 'sort_value' => 3, 'ct_help' => '' ), 2 => array ( 'col_pos' => 3, 'sortable' => 0, 'content' => 'Vehicle&Personal3', 'sort_value' => 3, 'ct_help' => '' ), 3 => array ( 'col_pos' => 4, 'sortable' => 0, 'content' => 'No', 'sort_value' => 0, 'ct_help' => '' ), 4 => array ( 'col_pos' => 5, 'sortable' => 0, 'content' => '<b>Yes</b>', 'sort_value' => 1, 'ct_help' => '' ), 5 => array ( 'col_pos' => 9, 'sortable' => 0, 'content' => 'from73GBP', 'sort_value' => 73, 'ct_help' => '' ), 6 => array ( 'col_pos' => 10, 'sortable' => 0, 'content' => '<ahref=\\"#3\\">Visitsite></a>', 'ct_help' => '' ), ), 4 => array ( 0 => array ( 'col_pos' => 1, 'sortable' => 0, 'content' => 'Logo', 'ct_help' => '' ), 1 => array ( 'col_pos' => 2, 'sortable' => 0, 'content' => 'Productcover4', 'sort_value' => 4, 'ct_help' => '' ), 2 => array ( 'col_pos' => 3, 'sortable' => 0, 'content' => 'Vehicle&Personal4', 'sort_value' => 4, 'ct_help' => '' ), 3 => array ( 'col_pos' => 4, 'sortable' => 0, 'content' => '<b>Yes</b>', 'sort_value' => 1, 'ct_help' => '' ), 4 => array ( 'col_pos' => 5, 'sortable' => 0, 'content' => '<b>Yes</b>', 'sort_value' => 1, 'ct_help' => '' ), 5 => array ( 'col_pos' => 9, 'sortable' => 0, 'content' => 'from84GBP', 'sort_value' => 84, 'ct_help' => '' ), 6 => array ( 'col_pos' => 10, 'sortable' => 0, 'content' => '<ahref=\\"#4\\">Visitsite></a>', 'ct_help' => '' ), ), 5 => array ( 0 => array ( 'col_pos' => 1, 'sortable' => 0, 'content' => 'Logo', 'ct_help' => '' ), 1 => array ( 'col_pos' => 2, 'sortable' => 0, 'content' => 'Productcover5', 'sort_value' => 5, 'ct_help' => '' ), 2 => array ( 'col_pos' => 3, 'sortable' => 0, 'content' => 'Vehicle&Personal5', 'sort_value' => 5, 'ct_help' => '' ), 3 => array ( 'col_pos' => 4, 'sortable' => 0, 'content' => 'No', 'sort_value' => 0, 'ct_help' => '' ), 4 => array ( 'col_pos' => 5, 'sortable' => 0, 'content' => '<b>Yes</b>', 'sort_value' => 1, 'ct_help' => '' ), 5 => array ( 'col_pos' => 9, 'sortable' => 0, 'content' => 'from96GBP', 'sort_value' => 96, 'ct_help' => '' ), 6 => array ( 'col_pos' => 10, 'sortable' => 0, 'content' => '<ahref=\\"#5\\">Visitsite></a>', 'ct_help' => '' ) ) ) ) ; function sort_list($list, $field, $ascending = true) { $headers = array_values($list['header'])[0]; if (($key = array_search($field, array_column($headers, 'content'))) === false || $headers[$key]['sortable'] == 0) { // can't find field or field is not sortable, do nothing return $list; } usort($list['row'], function ($a, $b) use ($key, $ascending) { return $ascending ? $a[$key]['sort_value'] <=> $b[$key]['sort_value'] : $b[$key]['sort_value'] <=> $a[$key]['sort_value']; }); return $list; } print_r(sort_list($data, 'Price'));
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Array ( [header] => Array ( [1] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 1 [content] => Compare [ct_help] => Comparehelptext.. ) [1] => Array ( [col_pos] => 2 [sortable] => 1 [content] => Product [ct_help] => Producthelptext.. ) [2] => Array ( [col_pos] => 3 [sortable] => 1 [content] => TypeofCover [ct_help] => Typeofcoverhelptext.. ) [3] => Array ( [col_pos] => 4 [sortable] => 1 [content] => RoadsideAssistance [ct_help] => Roadsideassistancehelptext... ) [4] => Array ( [col_pos] => 5 [sortable] => 1 [content] => NationwhideRecovery [ct_help] => NationwideRecoverhelptext... ) [5] => Array ( [col_pos] => 9 [sortable] => 1 [content] => Price [ct_help] => Pricehelptext... ) [6] => Array ( [col_pos] => 10 [sortable] => 1 [ct_help] => ) ) ) [row] => Array ( [0] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover3 [sort_value] => 3 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal3 [sort_value] => 3 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => No [sort_value] => 0 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from73GBP [sort_value] => 73 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#3\">Visitsite></a> [ct_help] => ) ) [1] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover2 [sort_value] => 2 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal2 [sort_value] => 2 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => No [sort_value] => 0 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from75GBP [sort_value] => 75 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#2\">Visitsite></a> [ct_help] => ) ) [2] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover4 [sort_value] => 4 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal4 [sort_value] => 4 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from84GBP [sort_value] => 84 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#4\">Visitsite></a> [ct_help] => ) ) [3] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover5 [sort_value] => 5 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal5 [sort_value] => 5 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => No [sort_value] => 0 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from96GBP [sort_value] => 96 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#5\">Visitsite></a> [ct_help] => ) ) ) )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Array ( [header] => Array ( [1] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 1 [content] => Compare [ct_help] => Comparehelptext.. ) [1] => Array ( [col_pos] => 2 [sortable] => 1 [content] => Product [ct_help] => Producthelptext.. ) [2] => Array ( [col_pos] => 3 [sortable] => 1 [content] => TypeofCover [ct_help] => Typeofcoverhelptext.. ) [3] => Array ( [col_pos] => 4 [sortable] => 1 [content] => RoadsideAssistance [ct_help] => Roadsideassistancehelptext... ) [4] => Array ( [col_pos] => 5 [sortable] => 1 [content] => NationwhideRecovery [ct_help] => NationwideRecoverhelptext... ) [5] => Array ( [col_pos] => 9 [sortable] => 1 [content] => Price [ct_help] => Pricehelptext... ) [6] => Array ( [col_pos] => 10 [sortable] => 1 [ct_help] => ) ) ) [row] => Array ( [0] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover3 [sort_value] => 3 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal3 [sort_value] => 3 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => No [sort_value] => 0 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from73GBP [sort_value] => 73 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#3\">Visitsite></a> [ct_help] => ) ) [1] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover2 [sort_value] => 2 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal2 [sort_value] => 2 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => No [sort_value] => 0 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from75GBP [sort_value] => 75 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#2\">Visitsite></a> [ct_help] => ) ) [2] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover4 [sort_value] => 4 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal4 [sort_value] => 4 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from84GBP [sort_value] => 84 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#4\">Visitsite></a> [ct_help] => ) ) [3] => Array ( [0] => Array ( [col_pos] => 1 [sortable] => 0 [content] => Logo [ct_help] => ) [1] => Array ( [col_pos] => 2 [sortable] => 0 [content] => Productcover5 [sort_value] => 5 [ct_help] => ) [2] => Array ( [col_pos] => 3 [sortable] => 0 [content] => Vehicle&Personal5 [sort_value] => 5 [ct_help] => ) [3] => Array ( [col_pos] => 4 [sortable] => 0 [content] => No [sort_value] => 0 [ct_help] => ) [4] => Array ( [col_pos] => 5 [sortable] => 0 [content] => <b>Yes</b> [sort_value] => 1 [ct_help] => ) [5] => Array ( [col_pos] => 9 [sortable] => 0 [content] => from96GBP [sort_value] => 96 [ct_help] => ) [6] => Array ( [col_pos] => 10 [sortable] => 0 [content] => <ahref=\"#5\">Visitsite></a> [ct_help] => ) ) ) )

preferences:
224.44 ms | 425 KiB | 181 Q