Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php JavaScript按和排序JSON_Php_Javascript_Jquery_Json - Fatal编程技术网

Php JavaScript按和排序JSON

Php JavaScript按和排序JSON,php,javascript,jquery,json,Php,Javascript,Jquery,Json,我们得到的是一个JSON字符串,如下所示: [{"id":"1499","tradingname":"Golden Shutter Photography","listed":"2012-01-26 19:26:24","pictureurl":"","business_id":"1499","storeid":"1","phone":"6143737477","street":"122 Avebery Drive","suburb":"Berwick ","state":"1","postco

我们得到的是一个JSON字符串,如下所示:

[{"id":"1499","tradingname":"Golden Shutter Photography","listed":"2012-01-26 19:26:24","pictureurl":"","business_id":"1499","storeid":"1","phone":"6143737477","street":"122 Avebery Drive","suburb":"Berwick ","state":"1","postcode":"3806","discription":"","long":"","lat":"","offer":"500|50","tstamp":"2012-01-26 19:26:24","offers":"500|50"}]
我们需要的是一种JavaScript方式来对结果进行排序/洗牌,这样他们就可以接受报价并将其排序,最后显示出最大的差异,而第一个显示的差异较小

例如,假设JSON中的提供如下

100|10

100|20

100|9
它将把它按顺序排列

100|20

100|10

100|9
现在的问题是,一些报价的报价超过了1个报价,因此它们如下所示

100|20,100|9,100|10
在这种情况下,我们也要将100 | 9移动到末端,如下所示

100|20,100|10,100|9

这应该给你一个想法。但是在调用json_encode之前,在php中使用multisort对数组进行排序会更有效

 var arr = [
      {"id":"1498","tradingname":"Golden Shutter Photography1","listed":"2012-01-26 19:26:24","pictureurl":"","business_id":"1499","storeid":"1","phone":"6143737477","street":"122 Avebery Drive","suburb":"Berwick ","state":"1","postcode":"3806","discription":"","long":"","lat":"","offer":"200|60","tstamp":"2012-01-26 19:26:24","offers":"200|40"},
      {"id":"1499","tradingname":"Golden Shutter Photography2","listed":"2012-01-26 19:26:24","pictureurl":"","business_id":"1499","storeid":"1","phone":"6143737477","street":"122 Avebery Drive","suburb":"Berwick ","state":"1","postcode":"3806","discription":"","long":"","lat":"","offer":"400|50","tstamp":"2012-01-26 19:26:24","offers":"200|50"},
      {"id":"1500","tradingname":"Golden Shutter Photography3","listed":"2012-01-26 19:26:24","pictureurl":"","business_id":"1499","storeid":"1","phone":"6143737477","street":"122 Avebery Drive","suburb":"Berwick ","state":"1","postcode":"3806","discription":"","long":"","lat":"","offer":"200|50","tstamp":"2012-01-26 19:26:24","offers":"400|50"}
    ];


    function sortbyoffer(a,b) {
      var aa = a.offer.split("|");
      var bb = b.offer.split("|");
      if(aa[0] == bb[0]) {
        return aa[1] - bb[1];
      } else {
        return aa[0] - bb[0]; 
      }
    }

    arr.sort(sortbyoffer);

    for(var n=0;n<arr.length;n++){
      document.write(arr[n].id + ' ' + arr[n].tradingname +  ' ' + arr[n].offer + '<br>');
    }

@rdlowrey我尝试在MySQL点对其排序,并使用jquery.sortwhy用javascript对排序?在使用json_encode之前,在php中使用multisort对数组进行排序。
1500 Golden Shutter Photography3 200|50
1498 Golden Shutter Photography1 200|60
1499 Golden Shutter Photography2 400|50