2014-06-12 49 views
0
<?php 

$a="hello bro"; 
$b="how are u"; 

echo "$a,$b.<br/>"; 
echo $a,$b; 

?> 

閱讀逗號爲什麼不讀逗號(,)在第二個聲明回聲結構爲什麼不能在PHP沒有雙引號

輸出你好兄弟,怎麼是U 你好brohow是U

我問題是爲什麼不用逗號分隔(,)。請給我答案。

+0

您需要將字符串與變量連接起來使用'.' –

+1

逗號','是PHP中的一個參數分隔符:所以它不會顯示在回顯語句中,除非它在引用字符串內 –

+0

它看起來像'echo'命令可以接受多個參數,並將它們連接起來。所以它不是以字符串的形式讀取逗號,而是將它解析爲參數分隔符。 – Obversity

回答

0

您需要使用變量使用.

echo $a.','.$b; 
+0

@ Mr.Alien謝謝你現在好嗎? –

+0

非常不錯.. –

+0

逗號可以完美地用於回聲,只需要在引號之外。無需使用點必然 –

0
echo $a,$b; 

將被視爲

echo $a; 
echo $b ; 

來串聯逗號,所以你可能需要

echo $a,',',$b; 

echo $a.','.$b; 
0

在第一個echo語句中,逗號是字符串的一部分,當雙引號字符串被解析時,變量被注入到字符串中。這對於單引號不會發生,因爲對於單引號字符串沒有額外的解析。單引號的好處在於,如果您正在處理大量字符串,單引號將運行得更快,因爲它們沒有額外的解析規則。

那麼,爲什麼第二個陳述不起作用?那麼,在第二個語句中,逗號被解析爲多參數分隔符。 echo構造允許多個參數,每個參數都將被輸出(注意:print構造不會帶多個參數)。這種情況下的逗號是語法而不是輸出。如果你想使用逗號語法來實現相同的輸出,你會得到回波語句中使用多個參數比使用更快的需要

<?php 
echo $a,',',$b; 
?> 

,或者使用串聯

<?php 
echo $a.','.$b; 
?> 

一般的音符,在我的經驗串聯,尤其是在連接兩個以上的值時。