phpjson對象排序,json排序 js

本文目錄一覽:

php根據json其中的一個鍵值大小重新排序

在php對json直接操作成本太高,所以應該將json先轉化為數組,對數組排序就很好弄了,具體操作如下:

//先將json轉化為數組:

$people =json_decode($people,true);

//排序方法

function my_sort($arrays,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC ){

if(is_array($arrays)){

foreach ($arrays as $array){

if(is_array($array)){

$key_arrays[] = $array[$sort_key];

}else{

return false;

}

}

}else{

return false;

}

array_multisort($key_arrays,$sort_order,$sort_type,$arrays);

return $arrays;

}

//測試效果

$person = array(

array(‘num’=1,’sex’=’1’),

array(‘num’=2,’sex’=’0’),

array(‘num’=3,’sex’=’1’),

array(‘num’=4,’sex’=’1’),

array(‘num’=5,’sex’=’0’),

array(‘num’=6,’sex’=’0’),

array(‘num’=7,’sex’=’0’)

);

var_dump($person);

$person = my_sort($person,’num’,SORT_ASC,SORT_STRING);

var_dump($person);

$person = my_sort($person,’sex’);

var_dump($person);

php對象轉json字元串時如何排序

建議把json字元串轉為關聯數組再來處理和排序:

$str='{“1″:1,”3”:2}’;

$arr=json_decode($str,true);

$arr[“2”]=3;

ksort($arr,1);

$str=json_encode($arr);

print_r($str);

如果一定要按對象來處理,就這樣:

$str='{“1″:1,”3”:2}’;

$obj=json_decode($str);

$k=”2″;

$obj-$k=3;

$arr=json_decode(json_encode($obj),true);

ksort($arr,1);

$str=json_encode($arr);

print_r($str);

大神幫忙改下PHP輸出JSON結果的順序

兩種解決方案:

一、獲取數據的時候倒序排列一下,即:

$result = mysql_query(‘select * from address_list ORDER BY id DESC’,$link);

二、獲取結果後倒序排列一下,可以參考:

array_reverse() 

if(mysql_num_rows($result)0){

    while($obj = mysql_fetch_object($result)){

        $arr[] = $obj;

    }

    $arr = array_reverse($arr);

    echo ‘{“data”:{ “success”: true, “punit”: ‘.json_encode($arr).’}}’;

}else{

    echo ‘{“success”: false,”message”:”讀取數據失敗”,”punit”:””}’;

}

希望能幫到你~

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286914.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 13:06
下一篇 2024-12-23 13:06

相關推薦

發表回復

登錄後才能評論