Zabbix json 获取没有 json 对象的数组
Zabbix json get Array without json Object
我有以下代码从 ZabbixAPI 读取项目名称:
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 )
但我只需要 Item 的 'name' 而不是 json 对象,所以输出只是一个像这样的数组:itemname1, itemname2....
您可以执行以下操作:
$names = array();
foreach($items as $item) { // loop through the returned data
$names[] = $item->name;
}
$names 数组将是项目名称数组。
我有以下代码从 ZabbixAPI 读取项目名称:
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 )
但我只需要 Item 的 'name' 而不是 json 对象,所以输出只是一个像这样的数组:itemname1, itemname2....
您可以执行以下操作:
$names = array();
foreach($items as $item) { // loop through the returned data
$names[] = $item->name;
}
$names 数组将是项目名称数组。