PHP Multidimensional array custom sort.
Sort should be based on values in field [position]
A person can have multiple positions (see the special case listed below).
Array
(
[0] => Array
(
[position] => Array
(
[0] => Secretary
)
)
)
I want the array to be ordered on position values as
- General Secretary
- President
- Treasurer
- Secretary
- Committee Member
Special case for the below array, it should be the first array. Because this person is "General Secretary"
[2] => Array
(
[person_id] => 51136
[position] => Array
(
[0] => General Secretary
[1] => Committee Member
)
[person_name] => Person 1
)
Example input data
Array
(
[0] => Array
(
[person_id] => 22180
[position] => Array
(
[0] => Secretary
)
[person_name] => Person 1
)
[1] => Array
(
[person_id] => 51135
[position] => Array
(
[0] => President
)
[person_name] => Person 2
)
[2] => Array
(
[person_id] => 51136
[position] => Array
(
[0] => General Secretary
[1] => Committee Member
)
[person_name] => Person 3
)
[3] => Array
(
[person_id] => 44141
[position] => Array
(
[0] => Treasurer
)
[person_name] => Person 4
)
[4] => Array
(
[person_id] => 51137
[position] => Array
(
[0] => Committee Member
)
[person_name] => Person 5
)
)
Output required
Array
(
[0] => Array
(
[person_id] => 51136
[position] => Array
(
[0] => General Secretary
[1] => Committee Member
)
[person_name] => Person 3
)
[1] => Array
(
[person_id] => 51135
[position] => Array
(
[0] => President
)
[person_name] => Person 2
)
[2] => Array
(
[person_id] => 44141
[position] => Array
(
[0] => Treasurer
)
[person_name] => Person 4
)
[3] => Array
(
[person_id] => 22180
[position] => Array
(
[0] => Secretary
)
[person_name] => Person 1
)
[4] => Array
(
[person_id] => 51137
[position] => Array
(
[0] => Committee Member
)
[person_name] => Person 5
)
)