[英]single quotes and double quotes in php?
雙引號--->“ $ a”解釋變量。
單引號->'$ a'到現在為止
我的問題:
"'$a'"
怎么辦? 注意 :想了解幕后細節。
詳細說明 :
因此,當我在foreach循環中使用它時,我面臨一個主要問題:
以下示例為我提供了錯誤的選項值。 例如,如果原始用戶是UX開發人員,則它呈現的值為UX
echo "<option value=".$item['m_designation'].">".$item['m_designation']."</option>";
這個例子給了我正確的期權價值。 例如,如果原始版本是UX開發人員,則它呈現的值是UX開發人員
echo '<option value="'.$item['m_designation'].'"> '.$item['m_designation'].' </option>';
希望我清楚。
更新:
我得到了理想的結果,但我不知道其背后的邏輯。 我已經嘗試過並成功完成了,但是我想知道幕后發生的事情。 我認為人們誤解了我的問題。
使用'
和"
字符串,只有當他們是整個字符串的外容器的變化-內部的不同的報價只是視為沒有特殊含義的普通字符,因此"'$var'"
使用規則"
(解析變量),而'"$var"'
實際上會使用'
(不解析變量)規則輸出"$var"
。
簡介:當您執行"''"
或"\\"\\""
,PHP不會解析字符串中的引號並將其視為文字字符,此類引號的內容在這些引號之內或之外均具有相同的行為。
您將擁有一個使用雙引號作為定界符並將單引號作為數據的字符串。 分隔符是決定如何處理字符串的重要分隔符。
看來您的問題更針對PHP為HTML格式生成的輸出。 簡單來說,PHP中的單引號代表字面值:
$a = 1;
$b = '$a';
echo $b;
//$a
$a = 1;
$b = "$a";
echo $b;
//1
$a = 1;
$b = "'$a'";
echo $b;
//'1'
如果要輸出HTML,可以使用heredoc語法 。 當輸出多行包含變量的行時,這很有用:
$name = "Bob";
$age = 59;
echo <<<EOT
My name is "$name".
I am $age years old.
EOT;
//My name is "Bob"
//I am 59 years old.
$a = 'test';
echo '$a';// prints $a
echo "$a";// prints test
echo "'$a'"//prints 'test'
雙引號檢查php變量並用php變量值回顯字符串
例如echo "wow $a 123"; //prints wow test 123
echo "wow $a 123"; //prints wow test 123
單引號打印單引號中的任何內容
示例echo 'foo $a 123';//prints foo $a 123
您的“錯誤”(第一個)字符串缺少單引號 '
:
echo "<option value='".$item['m_designation']."'>".$item['m_designation']."</option>";
^ ^
您的問題是您將HTML中的引號與PHP中的引號相混淆。
$a = 1;
$b = '"$a"';
echo $b;
# => "$a"
$a = 1;
$b = "\"$a\"";
echo $b;
# => "1"
我建議您不要使用字符串文字,因為(尤其是在PHP中)它們有很多意想不到的怪異的邊緣情況。 最好是強制使用解釋器(該解釋器也只能使用雙引號:
$a = 1;
$b = "\"{$a}\"";
$c = "{$a+2}";
echo $b;
# => "1"
echo $c;
# => 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.