我正在尝试搜索字符串“目标主机无法访问”的数组$结果,但它不起作用。
我不确定我做错了什么,并且想知道是否有人可以伸出援助之手?
$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等不同。
答案 0 :(得分:1)
in_array
仅在完全匹配时返回true。因此,如果该行上有其他字符(包括空格),则不匹配。您可能希望使用preg_match循环遍历数组。
答案 1 :(得分:1)
你也可以尝试。
if(array_search($outcome, "Destination host unreachable") !== false){
echo 'not reachable';
}