php数组使用if语句

时间:2013-05-26 12:56:57

标签: php arrays

为什么我不打印“11111111111”?我正在解析asterisk 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

2 个答案:

答案 0 :(得分:1)

很可能输入是CRLF分隔的,而不是LF。通过将其更改为:

来修剪爆炸的类似空白字符的字符串
$pieces1 = array_map('trim', explode("\n", $val));

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

答案 1 :(得分:0)

尝试:

  if(trim($pieces1[0]) == "Response: Goodbye"){
    echo("11111111111");
  }