0

为什么我没有打印“11111111111”?我正在解析星号 ami 输出。

foreach($pieces as $val)
{
$pieces1 = explode("\n", $val);
echo ("$pieces1[0]\n");
  if("$pieces1[0]" == "Response: Goodbye"){
    echo("11111111111");
  }
}
}
Asterisk Call Manager/1.1
Event: FullyBooted
Response: Success
Event: CoreShowChannel
Event: CoreShowChannel
Event: CoreShowChannelsComplete
Response: Goodbye
4

2 回答 2

1

输入很可能是 CRLF 分隔的,而不是 LF。通过将其更改为来修剪您爆炸的类似空白字符的字符串:

$pieces1 = array_map('trim', explode("\n", $val));

要正确调试此类问题,请始终在<pre>字段中输出调试数据,并将其嵌入撇号或双引号中,以便您实际看到类似的内容 - 在 HTML 中,所有空格通常都会折叠,因此您不会注意到。

于 2013-05-26T12:58:52.797 回答
0

尝试:

  if(trim($pieces1[0]) == "Response: Goodbye"){
    echo("11111111111");
  }
于 2013-05-26T13:03:28.877 回答