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