使用in_array函数在变量中找不到字符串


Cannot find string in variable using in_array function

我试图在数组$result中搜索字符串"目标主机无法访问",但它不起作用。

我不确定自己做错了什么,想知道是否有人能伸出援手?

   $ip = 192.168.1.30
   $pingresult = exec("ping -n 1 $ip", $outcome, $status);
   if ($status == 0) 
       {                                        
           if(in_array("Destination host unreachable", $outcome))
               {
                   echo "Unreachable";
               }
           else
               {
                   echo "Alive";
               }   
       }

附言:请注意,我在Windows机器上,所以退出状态与Linux等不同。

您也可以尝试。

if(array_search($outcome, "Destination host unreachable") !== false){
 echo 'not reachable';
}

in_array仅在完全匹配时返回true。因此,如果行上有其他字符(包括空白),它将不匹配。您可能希望使用preg_match循环遍历数组。