<?php
$array = array(
array('name' => 'Apple', 'json' => '{"type":"Fruit","sortOrder":2}'),
array('name' => 'Potato', 'json' => '{"type":"Fruit","sortOrder":1}')
);
$array = array_map(function (array $values) {
$json = json_decode($values['json'], true);
return $values + array('sortOrder' => $json['sortOrder']);
}, $array);
usort($array, function (array $a, array $b) {
return $a['sortOrder'] - $b['sortOrder'];
});
$array = array_map(function (array $values) {
unset($values['sortOrder']);
return $values;
}, $array);
var_dump($array);
preferences:
51.54 ms | 402 KiB | 5 Q