Natsort () arranges JSON data times wrong.
PHP Code
$json = ' [{"name": "A1"},{"Name": "A10"},{"name": "A12"},{"name": "A3"},{"name": "A5"},{"name": "B21"},{"name": "B2"},{ "Name": "B11"}] '; Natsort ($json); $data = Json_decode ($json); foreach ($data as $row) { echo $row->name. '
';//}
Why would you prompt warning:natsort () expects parameter 1 to is array, string given in d:\www\test.php?
What is the difference between natsort () and strnatcmp ()?
Thank you.
------Solution--------------------
Natsort is an array sort function that cannot act on character channeling
------Solution--------------------
PHP code
$json = ' [{' name ': ' A1 '},{' name ': ' A10 '},{' name ': ' A12 "},{" name ":" A3 "},{" name ":" A5 "},{" name ":" B21 "},{" name ":" B2 "},{" name ":" B11 "}] '; $data = Json_decode ($json); Usort ($ Data, ' CMP '), function cmp ($a, $b) {if ($a->name = = $b->name) return 0; Return $a->name > $b->name? 1:-1;} foreach ($data as $row) {echo $row->name. '
';/}