2013-05-26 81 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