natsort()排列json数据时报错。
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$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.'<br />';//}
为什么会提示 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, <div style="color:transparent">本文来源gaodai.ma#com搞##代!^码@网*</div><pre>搞gaodaima代码
$b) { if ($a->name == $b->name) return 0; return $a->name > $b->name ? 1 : -1;}foreach ($data as $row) { echo $row->name.’
‘;//}