rob*_*nal 762 php string syntax
我不是PHP编程方面的专家,但我有点困惑为什么我在PHP中看到一些代码用单引号放入字符串的代码,有时用双引号.
我只知道在.NET或C语言中,如果它是单引号,这意味着它是一个字符,而不是一个字符串.
Pet*_*tai 1039
PHP字符串不仅可以通过两种方式指定,而且可以通过四种方式指定.
\'
,并显示反斜杠,您可以使用另一个反斜杠转义它\\
(所以,即使是单引号字符串也会被解析).$type
,那么您echo "The $types are"
将查找该变量$types
.绕过这个用途echo "The {$type}s are"
您可以在美元符号之前或之后放置左括号.看一下字符串解析,看看如何使用数组变量等.<<<
.在此运算符之后,提供标识符,然后提供换行符.字符串本身跟随,然后再次使用相同的标识符来关闭引号.您不需要在此语法中转义引号.<<<
序列标识,但后面的标识符用单引号括起来,例如<<<'EOT'
.在nowdoc中没有解析.速度:
我不会过分夸大单引号比双引号更快.在某些情况下,它们可能更快.这篇文章解释了自PHP 4.3以来单引号和双引号基本上同样快的一种方式(Useless Optimizations
向下,部分C
).此外,该基准测试页面还有单引号和双引号比较.大多数比较是相同的.有一个比较,其中双引号比单引号慢.
Dan*_*ani 198
事情用双引号评估,但不是单一:
$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.
Run Code Online (Sandbox Code Playgroud)
小智 48
'
单引号指定字符串的最简单方法是将其用单引号括起来.单引号通常更快,内部引用的所有内容都被视为普通字符串.
例:
echo 'Start with a simple string';
echo 'String\'s apostrophe';
echo 'String with a php variable'.$name;
Run Code Online (Sandbox Code Playgroud)
"
双引号在PHP中使用双引号以避免必须使用句点来分隔代码(注意:{}
如果您不想.
在字符串中使用concatenation()运算符,请使用花括号来包含变量).
例:
echo "Start with a simple string";
echo "String's apostrophe";
echo "String with a php variable {$name}";
Run Code Online (Sandbox Code Playgroud)
是.使用单引号稍微快一些.
PHP不会使用额外的处理来解释单引号内的内容.当你使用双引号时,PHP必须解析以检查字符串中是否有任何变量.
Bor*_*lid 36
单引号字符串中没有解释变量.双引号字符串.
此外,双引号字符串可以包含没有反斜杠的撇号,而单引号字符串可以包含未转义的引号.
单引号字符串在运行时更快,因为它们不需要被解析.
Ban*_*Dao 24
在PHP中,这两个'my name'
和"my name"
的字符串.您可以在PHP手册中阅读更多相关信息.
你应该知道的是
$a = 'name';
$b = "my $a"; == 'my name'
$c = 'my $a'; != 'my name'
Run Code Online (Sandbox Code Playgroud)
在PHP中,人们用单引号定义常量字符串,如'a'
,'my name'
,'abc xyz'
,同时使用双引号来定义一个字符串包含类似标识符"a $b $c $d"
.
还有一点是,
echo 'my name';
Run Code Online (Sandbox Code Playgroud)
比...更快
echo "my name";
Run Code Online (Sandbox Code Playgroud)
但
echo 'my ' . $a;
Run Code Online (Sandbox Code Playgroud)
比...慢
echo "my $a";
Run Code Online (Sandbox Code Playgroud)
对于其他使用的字符串也是如此.
小智 16
<?php
$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 = <<<abc
My name is {$fname}
abc;
// Example of nowdoc
echo <<< 'abc'
My name is "$name".
Now, I am printing some
abc;
?>
Run Code Online (Sandbox Code Playgroud)
小智 13
在PHP中,单引号文本被视为字符串值,双引号文本将通过替换和处理它们的值来解析变量.
$test = "variable";
echo "Hello Mr $test"; // the output would be: Hello Mr variable
echo 'Hello Mr $test'; // the output would be: Hello Mr $test
Run Code Online (Sandbox Code Playgroud)
这里,双引号解析值,单引号被视为字符串值(不解析$ test变量.)
归档时间: |
|
查看次数: |
348764 次 |
最近记录: |