的zabbix JSON得到阵列,而不JSON对象

的zabbix JSON得到阵列,而不JSON对象

问题描述:

我有以下代码从ZabbixAPI阅读项目名称:的zabbix JSON得到阵列,而不JSON对象

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'   => 'name', 
          'sortfield'   => 'name', 
          'lastvalue'   => 'value' 

               ); 

    $items = $api->itemGet($params);  // get data from api 
echo serialize($items); 


    foreach($items as $item) {  // loop through the returned data 

     echo "<td>".$item."</td>"; 



    } 

} catch(Exception $e) { 

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

有了,我得到这个输出为每个项目:

stdClass Object ([itemid] => 81351 [name] => Disk root used p) 

但我只需要该项目而不是JSON对象的“名”,所以输出就像一个数组:itemname1, itemname2....

你可以做到以下几点:

$names = array(); 
foreach($items as $item) {  // loop through the returned data 
    $names[] = $item->name; 
} 

$ names数组将是项目名称数组。

+0

谢谢你对我完美的工作。 :) – julien