首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON数组按键排序

JSON数组按键排序
EN

Stack Overflow用户
提问于 2015-11-12 15:14:56
回答 2查看 814关注 0票数 1

我有这样的代码来从API中获取JSON数据:

代码语言:javascript
复制
try {
    // connect to Zabbix-API
    $api = new ZabbixApi($api_url, $username, $password);


 $params = array( 

                           'groupids' => '2',
                           'real_items'        =>TRUE,                    
                            'monitored_items'   =>TRUE, 
                            'search' => array('name' => 'Disk root used p'),                                                                    
                            'selectFunctions'   => 'extend',
                            'output'            => 'extend', 
                            'sortfield'         => 'name'


                            );



    $trends = $api->itemGet($params); // get data from api

  $names = array();
    foreach($trends as $trend)  {       // loop through the returned data
      $names[] = $trend->lastvalue;

    }


} catch(Exception $e) {

    // Exception in ZabbixApi catched
    echo $e->getMessage();
}

答复是:

代码语言:javascript
复制
"result": [
        {
            "itemid": "23298",
            "hostid": "10084",
            "lastvalue": "2552",
            "name": "Disk root used p"        
        },

如您所见,我创建了一个数组($names),其中只包含"lastvalue“。现在我试着用"hostid“对这些值进行排序。这有可能吗?怎么可能?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-12 15:32:10

首先,您必须对$trends进行排序,然后您可以创建$names,您可以使用usort函数来完成这个任务。它需要一个数组和要用于排序的函数的名称。例如

代码语言:javascript
复制
function sort_trends_by_hostid($a, $b) {
  if ( $a->hostid == $b->hostid ) {
    return 0;
  }     
  return ($a->hostid < $b->hostid) ? -1 : 1; 
}

usort($trends, 'sort_trends_by_hostid');

大卫·沃尔什

票数 3
EN

Stack Overflow用户

发布于 2015-11-12 15:25:37

您需要php函数"asort":

http://php.net/manual/en/function.asort.php

它对数组进行排序,维护索引关联。

如果您不为维护索引关联而烦恼,请使用sort():

http://php.net/manual/en/function.sort.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33674790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档