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

时间:2012-02-09 18:40:07

标签: php arrays

我正在尝试搜索字符串“目标主机无法访问”的数组$结果,但它不起作用。

我不确定我做错了什么,并且想知道是否有人可以伸出援助之手?

   $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";
               }   
       }

P.S。请注意我在Windows机器上,因此退出状态与Linux等不同。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

你也可以尝试。

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