Php中单引号双引号包含字符串的区别是,PHP中的单引号和双引号字符串有什么区别?...

这篇博客详细介绍了PHP中字符串的四种指定方式:单引号、双引号、heredoc和nowdoc。主要对比了单引号和双引号的区别,指出单引号字符串不解析变量,而双引号字符串会。还提到了heredoc和nowdoc的使用,以及它们在处理多行字符串时的优势。此外,文中还讨论了性能差异,单引号字符串在运行时速度稍快。最后,举例说明了各种引用方式的用法。
摘要由CSDN通过智能技术生成

回答(11)

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

PHP strings不仅可以用两种方式指定,而且可以用 four 方式指定 .

Single quoted strings几乎完全显示事物"as is."变量和大多数转义序列都不会被解释 . 例外情况是,要显示文字单引号,可以使用反斜杠 \' 对其进行转义,并显示反斜杠,可以使用另一个反斜杠 \\ ( So yes, even single quoted strings are parsed )对其进行转义 .

Double quote strings将显示一系列转义字符(包括一些正则表达式),并将评估字符串中的变量 . 这里的一个重点是 you can use curly braces to isolate the name of the variable you want evaluated . 例如,假设您有变量 $type ,那么 echo "The $types are" 那将寻找变量 $types . 为了解决这个问题,请使用 echo "The {$type}s are" 您可以在美元符号之前或之后放置左括号 . 看看string parsing,看看如何使用数组变量等 .

Heredoc字符串语法的作用类似于双引号字符串 . 它以 <<< 开头 . 在此运算符之后,提供标识符,然后提供换行符 . 字符串本身如下,然后再次使用相同的标识符来关闭引号 . 您不需要在此语法中转义引号 .

Nowdoc(自PHP 5.3.0起)字符串语法基本上与单引号字符串相同 . 不同之处在于,甚至不需要转义单引号或反斜杠 . nowdoc用与heredocs相同的 <<< 序列标识,但后面的标识符用单引号括起来,例如: <<

Speed:

我不会过分强调单引号比双引号更快 . 在某些情况下,它们可能更快 . 这是一篇文章explaining one manner in which single and double quotes are essentially equally fast since PHP 4.3( Useless Optimizations 在底部, C 部分) . 此外,这benchmarks page有单一与双引号比较 . 大多数比较是相同的 . 有一个比较,其中双引号比单引号慢 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

也许我有点晚了,有点偏离主题,但无论如何......

你之间的内容是:'t have to choose because of your string'

alert("It's \"game\" time."); 或 alert('It\'s "game" time.');

相反,您可以这样输入,然后使用双引号或单引号,因为它无关紧要:

alert("It’s “game” time."); 和 alert('It’s “game” time.');

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

事情用双引号评估,但不是单引号:

$s = "dollars";

echo 'This costs a lot of $s.'; // This costs a lot of $s.

echo "This costs a lot of $s."; // This costs a lot of dollars.

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

在PHP中, 'my name' 和 "my name" 都是字符串 . 你可以阅读更多关于它at the PHP manual .

你应该知道的是

$a = 'name';

$b = "my $a"; == 'my name'

$c = 'my $a'; != 'my name'

在PHP中,人们使用单引号来定义常量字符串,如 'a' , 'my name' , 'abc xyz' ,同时使用双引号来定义包含 "a $b $c $d" 等标识符的字符串 .

还有一件事是,

echo 'my name';

比...更快

echo "my name";

echo 'my ' . $a;

比...慢

echo "my $a";

对于其他使用的字符串也是如此 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

single,double,heredoc和nowdoc引号的示例

$fname = "David";

// Single quotes

echo 'My name is $fname .'; // My name is $fname.

// Double quotes

echo "My name is $fname."; // My name is David.`

// Curly braces to isolate the name of the variable

echo "My name is {$fname}."; // My name is David.

// Example of heredoc

echo $foo = <<

My name is {$fname}

abc;

// Example of nowdoc

echo <<< 'abc'

My name is "$name".

Now, I am printing some

abc;

?>

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

两种封闭的字符都是字符串 . 一种报价方便地用于包含其他类型的报价 . "'" 和 '"' . 引号类型之间的最大区别是封闭的标识符引用替换为内部双引号,但不在单引号内 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

One thing:

请注意, Heredoc 的结束标识符行必须不包含其他字符,但 semicolon (;) 除外 . 这尤其意味着标识符可能不是 indented ,并且在分号之前或之后可能没有任何 spaces 或 tabs .

Example:

$str = <<

Example of string

spanning multiple lines

using heredoc syntax.

EOD;

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

单引号

指定字符串的最简单方法是将其用单引号括起来 . 单引号通常更快,内部引用的所有内容都被视为普通字符串 .

例:

echo 'Start with a simple string';

echo 'String\'s apostrophe';

echo 'String with a php variable'.$name;

双引号

在PHP中使用双引号以避免必须使用句点来分隔代码(注意:如果您不想在字符串中使用连接( . )运算符,请使用花括号 {} 来包含变量) .

例:

echo "Start with a simple string";

echo "String's apostrophe";

echo "String with a php variable {$name}";

PHP中的单引号与双引号是否有性能优势?

是 . 使用单引号稍微快一些 .

PHP不会使用额外的处理来解释单引号内的内容 . 当你使用双引号时PHP必须解析以检查那里是否有任何变量 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

单引号字符串中没有解释变量 . 双引号字符串 .

此外,双引号字符串可以包含没有反斜杠的撇号,而单引号字符串可以包含未转义的引号 .

单引号字符串在运行时更快,因为它们不需要被解析 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

在PHP中,单引号文本被视为字符串值,双引号文本将通过替换和解析变量处理他们的 Value .

$test = "variable";

echo "Hello Mr $test"; // the output would be: Hello Mr variable

echo 'Hello Mr $test'; // the output would be: Hello Mr $test

这里,双引号解析值,单引号被视为字符串值(不解析$ test变量 . )

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

$name = 'test';

$singleQuote = 'This is example for single quote $name'; // here $name variable not evaluating

echo $singleQuote; // Output: This is example for single quote $name

$singleQuote = "This is example for single quote $name"; // here $name variable will evaluate and replace variable value

echo $singleQuote; // Output: This is example for single quote test

Also inside single quote expression evaluate faster campare to double quotes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值