2015-11-12 134 views
1

我從Zabbix Api獲取信息與PHP庫。目前,我得到了「lastvalue」從JSON數組:Zabbix閱讀Api

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', 
          'limit'    => '1' 

          ); 



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

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

    } 
//print_r($names); 

} catch(Exception $e) { 

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

但現在我想要得到的「lastvalue」加上「名」的項目,在這個陣列,例如像:「名」 + 「lastvalue」。我怎樣才能將他們兩個都加入我的陣列$names[]

+0

在你的foreach,你可以做'的foreach($趨勢,$ trendKey => $ trendValue){...}',這可以讓你獲得索引,無論是1(數字)還是1(關聯)並使用兩者。例如。 '$ arr = array('name'] =>'value');'$ trendKey'將會是''name'','$ trendValue'將會是''value'' - 思考它,會添加一個答案;) –

回答

1

這是我的回答,我的意見,希望它是你在找什麼!

$trends = $api->itemGet($params); 
$names = array(); 
foreach($trends as $trendKey => $trendValue) 
{ 
    $names[$trendKey] = $trendValue; 
} 

#Test the names array 
foreach ($names as $nameKey => $nameValue) 
{ 
    print("{$nameKey} = {$nameValue}<br />"); 
} 

返回值:

groupids = 2 
real_items = TRUE 
... 
sortfield = name 
limit = 1