2014-08-29 75 views
-4
<?php 
$string1 = "AMITABH BACHAN"; 
$string2 = "RAJNIKANTH"; 
$stringParts1 = str_split($string1); 
$stringParts2 = str_split($string2); 
for ($i = 0 ; $i < strlen($string1); $i++) 
for ($j = $i ; $j < strlen($string2); $j++) { 
if ($stringParts1[$i]==$stringParts2[$j]) { 
echo $string1[$i] + '\n'; 
} 
} 
?> 

我在這做錯了什麼?在IDEONE上,它不產生輸出。在PHP Designer 8上輸出000000爲什麼這個PHP代碼輸出000000?

+0

你的陣列是$ stringParts1,但你正在訪問$字符串1 [$ i]中。 – 2014-08-29 16:40:27

回答

3

基本PHP語法:Strings.連接。你做MATH

echo $string1[$i] + '\n'; 
        ^--- 

另外,您的\n是毫無意義的。 '\n'是兩個字符:\n"\n"是一個換行字符。

你想

echo $string1[$i] . "\n"; 

代替

+1

還應該注意,沒有括號的速記循環僅適用於後面的單行代碼,在這種情況下,OP有幾個。這不會按預期工作。 – steve 2014-08-29 16:40:07

+1

@steve:是的,代碼的醜陋。但內部循環確實有{},所以它實際上是一個單線程無論如何。 – 2014-08-29 16:42:28

+0

啊!你是正確的先生!我沒在想。 – steve 2014-08-29 17:05:54