2013-05-26 57 views
0

为什么我不打印“11111111111”?我解析星号ami输出。php数组使用if语句

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 
+0

首先发生爆炸的字符串数组,然后遍历它与一个'foreach',而不是周围的其他方式。 – ACJ

回答

1

最有可能的输入是CRLF分隔,而不是LF。通过将其更改为修剪的杂散空白样字符的爆炸字符串:

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

要正确调试像一个<pre>领域这个总输出调试数据的问题,并将其嵌入在撇号或双引号,所以你实际看到的东西像这样 - 在HTML中,所有的空白通常会崩溃,所以你不会注意到。

+0

谢谢,它的工作。 – user2079197

0

尝试:

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

也谢谢你,它的工作。 – user2079197