PHP in_数组的结果始终相同。

PHP in_数组的结果始终相同。,php,arrays,Php,Arrays,这个代码怎么了?答案总是否定的 变量是一个对象,而不是数组 有关也适用于对象的函数,请参阅。数组由对象而不是字符串组成 通过在数组(“192.168.100.253,$a”)中执行,可以在$a中查找字符串“192.168.100.253”,正如您在打印中看到的,它在对象中 Array ( [0] => stdClass Object ( [address] => 192.168.100.253 ) [1] => stdClass Object ( [address]

这个代码怎么了?答案总是否定的

变量是一个对象,而不是数组


有关也适用于对象的函数,请参阅。

数组由对象而不是字符串组成

通过在数组(“192.168.100.253,$a”)中执行
可以在$a中查找字符串
“192.168.100.253”
,正如您在打印中看到的,它在对象中

Array (
   [0] => stdClass Object ( [address] => 192.168.100.253 )
   [1] => stdClass Object ( [address] => 192.168.100.253 )
) 
$a是stdobject的数组,您将它们视为正常值

您需要使用foreach循环来迭代$a的每个元素。

这是一个简单的try-dis

$a=$monitoring->getMonitoringServers()

如果(!in_数组(“192.168.100.253”,$a->地址) 回显“y”,否则回显“n”?> u l得到n的输出


请改进问题标题。它实际上没有说什么。不,它是一个对象数组。
Array (
   [0] => stdClass Object ( [address] => 192.168.100.253 )
   [1] => stdClass Object ( [address] => 192.168.100.253 )
) 
$flag = false;
foreach($a as $obj){
  if($obj->address == "192.168.100.253"){
     $flag = true;
     break;
  }
}

if($flag){
   echo 'Y';
}
else{
   echo 'N';
}