<?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