簡體   English   中英

PHP中的單引號和雙引號?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM