require_once ''与""解决思路
程序员文章站
2022-05-20 15:58:03
...
require_once ''与""
RT
这两种方法都对吗?对的话不同点在哪里?
------解决方案--------------------
"" 中间的变量会被解释
‘’ 不会
关键在“” 和‘’的区别
------解决方案--------------------
于require无关
------解决方案--------------------
没有区别,require只要求参数是真实存在的文件(字符串类型)
------解决方案--------------------
楼上的同志说的对, ‘ 与 “ 在解析与不解析有区别。
还有就是:require (文件) 你放在任何位置他都会把文件包含,比如
if(0){
require(.php);//这个文件会被包含,但是不会执行代码。
}
if(0){
require_once(.php)//不被包含,不会执行。
}
require_once();会在引入前进行查找以前有没有引入过,有则不引入,没有则引入。
------解决方案--------------------
我都是写 require_once 'xxx.php'; 这个很好使的。比”“ 速度快那么一点
------解决方案--------------------
------解决方案--------------------
的确单引号的执行效率要比双引号的快,因为双引号里面的内容会被解析,有这么一个过程因此比单引号慢。
$a = 'b';
echo 'a$a';
将会输出 a$a
而 echo "a$a";
将会输出
ab
你可以去看下这个帖子,讨论单双引号的区别和效率。
http://www.phpnewer.com/index.php/Ltqz/detail/id/60
------解决方案--------------------
我知道在php里面是单引比双引号要好一点。
require_once "xxx.php " 比 require_once 'xxx.php' 多运算一步,就是会检查 " " 里面有没有变量而'' 就不需要,他就是个字符串。同样的 $arr['name'] 与 $arr["name"] 也是一样的。
在具体往深了说我也忘了,你可以百度一下的。
------解决方案--------------------
能不使双引号尽量不使用双引号
------解决方案--------------------
区别在于
单引号
定义一个字符串 的最简单的方法是用单引号把它包围起来 (标点符号 ')。
如果想要输出一个单引号,需在它的前面加个反斜线 (\)。在单引号前或在字符串的结尾处想要输出反斜线,输入两条 (\\)。注意,如果在任何其它的字符前加了反斜线,反斜线将会被直接输出。
Note: 不像双引号 和heredoc语法结构,在单引号字符串中的变量 和特殊含义的字符将 不会 被替换。
双引号
如果字符串是包围在双引号(")中, PHP将对一些特殊的字符进行解析:
Escaped characters Sequence Meaning
\n 换行 (LF or 0x0A (10) in ASCII)
\r 回车 (CR or 0x0D (13) in ASCII)
\t 水平方向的 tab(HT or 0x09 (9) in ASCII)
\v 竖直方向的 tab (VT or 0x0B (11) in ASCII) (since PHP 5.2.5)
\f 换页 (FF or 0x0C (12) in ASCII) (since PHP 5.2.5)
\\ 反斜线
\$ 美金dollar标记
\" 双引号
\[0-7]{1,3} 符合该表达式顺序的字符串是一个八进制的字符
\x[0-9A-Fa-f]{1,2} 符合该表达式顺序的字符串是一个十六进制的字符
和单引号 字符串一样, 如果输出上述之外的字符,反斜线会被打印出来。 PHP5.1.1以前,\{$var} 中的反斜线还不会被显示出来。
用双引号定义的 字符串最重要的特征是变量会被进行,更多信息见字符串解析。
RT
这两种方法都对吗?对的话不同点在哪里?
------解决方案--------------------
"" 中间的变量会被解释
‘’ 不会
关键在“” 和‘’的区别
------解决方案--------------------
于require无关
------解决方案--------------------
没有区别,require只要求参数是真实存在的文件(字符串类型)
------解决方案--------------------
楼上的同志说的对, ‘ 与 “ 在解析与不解析有区别。
还有就是:require (文件) 你放在任何位置他都会把文件包含,比如
if(0){
require(.php);//这个文件会被包含,但是不会执行代码。
}
if(0){
require_once(.php)//不被包含,不会执行。
}
require_once();会在引入前进行查找以前有没有引入过,有则不引入,没有则引入。
------解决方案--------------------
我都是写 require_once 'xxx.php'; 这个很好使的。比”“ 速度快那么一点
------解决方案--------------------
------解决方案--------------------
的确单引号的执行效率要比双引号的快,因为双引号里面的内容会被解析,有这么一个过程因此比单引号慢。
$a = 'b';
echo 'a$a';
将会输出 a$a
而 echo "a$a";
将会输出
ab
你可以去看下这个帖子,讨论单双引号的区别和效率。
http://www.phpnewer.com/index.php/Ltqz/detail/id/60
------解决方案--------------------
我知道在php里面是单引比双引号要好一点。
require_once "xxx.php " 比 require_once 'xxx.php' 多运算一步,就是会检查 " " 里面有没有变量而'' 就不需要,他就是个字符串。同样的 $arr['name'] 与 $arr["name"] 也是一样的。
在具体往深了说我也忘了,你可以百度一下的。
------解决方案--------------------
能不使双引号尽量不使用双引号
------解决方案--------------------
区别在于
单引号
定义一个字符串 的最简单的方法是用单引号把它包围起来 (标点符号 ')。
如果想要输出一个单引号,需在它的前面加个反斜线 (\)。在单引号前或在字符串的结尾处想要输出反斜线,输入两条 (\\)。注意,如果在任何其它的字符前加了反斜线,反斜线将会被直接输出。
Note: 不像双引号 和heredoc语法结构,在单引号字符串中的变量 和特殊含义的字符将 不会 被替换。
双引号
如果字符串是包围在双引号(")中, PHP将对一些特殊的字符进行解析:
Escaped characters Sequence Meaning
\n 换行 (LF or 0x0A (10) in ASCII)
\r 回车 (CR or 0x0D (13) in ASCII)
\t 水平方向的 tab(HT or 0x09 (9) in ASCII)
\v 竖直方向的 tab (VT or 0x0B (11) in ASCII) (since PHP 5.2.5)
\f 换页 (FF or 0x0C (12) in ASCII) (since PHP 5.2.5)
\\ 反斜线
\$ 美金dollar标记
\" 双引号
\[0-7]{1,3} 符合该表达式顺序的字符串是一个八进制的字符
\x[0-9A-Fa-f]{1,2} 符合该表达式顺序的字符串是一个十六进制的字符
和单引号 字符串一样, 如果输出上述之外的字符,反斜线会被打印出来。 PHP5.1.1以前,\{$var} 中的反斜线还不会被显示出来。
用双引号定义的 字符串最重要的特征是变量会被进行,更多信息见字符串解析。
相关文章
相关视频