我有一个对象数组
<pre>stdClass Object
(
[October] => 13.88888888888889
[January] => 11.11111111111111
[April] => 17.77777777777778
[February] => 12.777777777777777
[August] => 17.77777777777778
[June] => 16.11111111111111
[May] => 16.11111111111111
[July] => 17.77777777777778
[November] => 12.222222222222221
[March] => 12.777777777777777
[December] => 11.11111111111111
[September] => 15.0
)
</pre>
我想根据月份(键)
对此数组进行排序我使用了ksort()函数但是错误来了它必须是数组而不是对象。
然后我将它转换为数组作为数组($ data);然后再次使用ksort()但仍然没有结果。
请帮助我的家伙怎么办?
答案 0 :(得分:0)
您应该为您的任务尝试以下代码:
$ months = array(“October”=&gt;“6.2”,“January”=&gt;“0.2”,“April”=&gt;“1.5”,“二月”=&gt;“0.2”,“八月” “=&gt;”5.4“,”六月“=&gt;”3.1“,”五月“=&gt;”4.5“,”七月“=&gt;”4.2“,”十一月“=&gt;”2.5“,”三月“=&gt;”0.5“,”12月“=&gt;”0.7“,”9月“=&gt;”6.9“);
ksort($months);
foreach($months as $key=>$keyvalue)//$x=>$x_value
{
echo "<br>".$key."=>".$keyvalue;
}
答案 1 :(得分:0)
您可以使用ksort(),但首先需要将对象转换为数组。
您可以使用json_encode / json_decode
执行此操作$array = json_decode( json_encode( $stdObject ), true );
ksort( $array );
foreach($array as $key => $val) {
echo $key. '=' .$val.'<br />'
}