Я получаю информацию от Zabbix Api с библиотекой PHP. В настоящий момент я получаю «lastvalue» из массива 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' => '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» плюс «name» элемента в этом массиве, например, вот так: «name» + «lastvalue». Как я могу получить их обоих в моем массиве $names[]
?
Вот мой ответ из моих комментариев, надеюсь, это то, что вы ищете!
$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
Других решений пока нет …