$hostid = json_decode($zabbix->getHost(),true);
var_dump($data);
foreach ($hostid['result'] as $key => $value) {
// var_dump($value['name']);
// var_dump($data['vmlist']);
if($data['vmlist'] == $value['name'])
{   
var_dump($zabbix->linkHost($value['hostid'],$temptid));
}

}

解决方案 »

  1.   

    你说了不算,要我看了才知道
    print_r($hostid);
    print_r($data);
    贴出结果
      

  2.   

    var_dump($value['name']);   string(5) "host1" string(5) "host2" string(5) "host3"
    var_dump($data['vmlist']); array(1) { [0]=> string(5) "host3" } array(1) { [0]=> string(5) "host3" } array(1) { [0]=> string(5) "host3" }
    我估计是不是循环以后出了问题
      

  3.   

    你没看到 $data['vmlist'] 是数组吗?
      

  4.   

    我让你给出 
    print_r($hostid);
    print_r($data);
    的结果,你却给出残缺的 var_dump 的结果我看不到全貌,怎么帮你?
      

  5.   

    $data;  [vmlist] => Array ( [0] => host3 ) )
    $hostid Array ( [jsonrpc] => 2.0 [result] => Array ( [0] => Array ( [hostid] => 10128 [name] => host1 ) [1] => Array ( [hostid] => 10129 [name] => host2 ) [2] => Array ( [hostid] => 10130 [name] => host3 ) ) [id] => 0 )
      

  6.   

    if($data['vmlist'] == $value['name'])
    改为
    if($data['vmlist'][0] == $value['name'])
      

  7.   

    $data['vmlist'] 是数组。if($data['vmlist'] == $value['name']) 
    这个应该是比较数组的元素
    $data;  [vmlist] => Array ( [0] => host3 ) )改为if($data['vmlist'][0] == $value['name']) 
      

  8.   

    if(in_array($value['name'], $data['vmlist']))你不会说 $value['name'] 也有2个 数据吧?
      

  9.   

    如果两个数据,可以用
    in_array来判断。