跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

natsort()排列json数据时报错。解决方法

natsort()排列 json 数据时报错。 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.'
';// }
为什么会提示 Warning: natsort() expects parameter 1 to be array, string given in d:\www\test.php? 另外natsort()和strnatcmp()的区别在哪里? 谢谢。 ------解决方案-------------------- natsort 是数组排序函数,不能作用于字符窜 ------解决方案-------------------- 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.'
';// }

相关文章