为了账号安全,请及时绑定邮箱和手机立即绑定

PHP各种相似运用区别

标签:
Python

"=="(!=)和"==="(!==)的区别

===( 3 等号运算符), 为在两个值和其类型之间作检查。例如, '3' ===3 将视为假 ( 类型是不同的 ), 而 3 ==3 ( 相等判断 ) 将视为真。请看例一:

==:等于运算,但是不比较值的类型;===:完全等于运算,不仅比较值,而且还比较值的类型,只有两者一致才为真。例如:$string = '<1000';if(!(strpos($string, '<') === false)){ echo "有小于号";}elseif(!(strpos($string, '>') === false)){ echo "有大于号";}else{ echo "小于,大于号都没有.";
$a == $b等于TRUE,如果 $a 等于 $b。
$a === $b全等TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)
$a != $b不等TRUE,如果 $a 不等于 $b。
$a <> $b不等TRUE,如果 $a 不等于 $b。
$a !== $b非全等TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进)


'和"的区别


” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。

‘ ‘ 单引号里面的不进行解释,直接输出。

从字面意思上就可以看出,单引号比双引号要快了。


php里的单引号把内容当成纯文本,不会经过服务器翻译。而双引号则与此相反。里面的内容会经过服务器处理(process). 举个简单的例子:

$foo="data";

echo '$foo';                        //单引号输出$foo

echo "$foo";                        //双引号输出data


单引号不能处理变量和转义字符(除了\\和\'这两个),要输出下面的字符串

      what's my name?

可以这么来写:

     echo "what's my name?";  //最简单的写法,单引号和双引号不产生冲突(conflict)

     echo 'what\' my name?';  用斜杠转义

如果要输出含有变量的字符串时就必须小心点,否则很可能产生错误。

    $email=$_POST['email'];

现在要输出this is your  email $email;可以有两个方式

 echo "this is your email $email";  //双引号服务器会自动解析

 echo 'this is your email'.$email; //用连字符和纯字符串和变量链接起来


 一旦涉及到Mysql中的sql语句,就更得小心了。从简单说起,sql语句,其中的条件是常量

      SELECE *  FROM  email_table WHERE username="abc";

php中可以写成

      $query="SELECE * FROM  email_table WHERE username='abc'";//query语句一定要用双引号括起来


假设查询的条件是变量,如$abc=$_POST['username'];

可以写成

           $query="SELECT * FROM email_table WHERE  username=' ".$abc." ' ";

可以分成几步理解:

1."SELECT * FROM email_table WHERE  username=' " 纯字符串

2. .连接符,用来链接后面的字符

3.$abc 显示变量的值

4.." ' "连字符链接后面的单引号(为了与条件中的第一个单引号配对)

其实不必这么复杂,可以这么写

$query="SELECT * FROM email_table WHERE username='$abc' ";

可以这么理解,双引号内部的全都要被服务器解析,单引号只是当成普通字符而已.


再复杂一点

$user=array (”name”=> $_REQUEST['user_name‘,"age"=>$_REQUEST['age'];//

$abc=array("name"=>$_POST['username'],"age"=>$_POST['age']);

$abc为数组变量,则写成

$query="SELECT * FROM email_table WHERE username=' " .$abc["name"]." ' ";


   最后需要说明的是,很多人以为单引号不能包含双引号,这是错误的。就个简单的例子,输出html语句:

echo ' <input type="text" name="email" id="email" /> ';

  html包含很多的双引号使用,可以用单引号包含起来,是没有问题的 。双引号虽好,能包含变量和转义字符,但是效率比单引号低,能用单引号的尽量用单引号,不可忽略的是,要注意区分英文和中文引号(dreamweave包含字符串时会高亮显示,中文则不会)。

 单引号里面的双引号中的变量不会解析!


一.首先想想PHP里所有的单词(其实应该叫符号)有几类.

1.PHP,mysql两方的关键词与函数.例如echo,print,mysql_connect等等.这些肯定不加引号的.

2.常量.新手可能用得不多,常量的好处是全局性,穿透函数.速度也快些不过新手可以暂时不管常量这玩意儿.

3.变量.前面带"$"号的就是变量.可以为变量设一个"值",例如一串字符,一个数字,逻辑(真/假)值等.也可以表示一组值(数组,对象等)

4.值.通常要给常量与变量设置值.赋值语句$a=\'abc\'中,右边的\'abc\'即为值.

5.函数的参数(在括号里的).可以是常量,变量,值三种.


变量(常量)与值的关系正如下列各种情况.

"颜色"与"红",

"长度"与100,

"日期"与2007年10月25号"


二.什么情况下用PHP引号

其实只有第4项"值"需要用到引号,函数的里也只有值要用引号.并且只有字符串(日期值可以当成字符串)内容需要用到引号.数字(可用可不用),真假(不能用)例外.


三.单引号与双引号的区别

一般情况下两者是通用的.但双引号内部变量会解析,单引号则不解析.

所以如果内部只有纯字符串的时候,用单引号(速度快),内部有别的东西(如变量)的时候,用双号引更好点.


四.字符串内部如果出现PHP引号怎么办--关于转义.

比如我们想输出: 我"是\'天才

这时候就必须用到转义了.转义即把本来有作用的符号转成无意义的字符.

这样就正常了,因为号把它后面的任何字符都转成无意义的符号.在这里来说,PHP解析器根本没把号后面的引号当成引号来看待.

同样的,还可以转义分号,$符号等特殊符号.


五.字符串的连接.

这是个麻烦的问题.一般来说,变量值,直接包含在双引号中就可以了.另外字符串的叠加用"."字符.

在复杂的情况里可以用大括号来包含,PHP便知道这是一个完整的东西,里面的引号不会影响到外面的引号关系.

与html的混合也很简单,最好养成HTML中全部用双引号,PHP中尽量用单引号的习惯.这样方便把大段的HTML代码复制过来,只要头尾加上单引号就是一个正确的字符串了.几百行的HTML代码也不用担心PHP引号错乱.


总结一下PHP引号使用原则

1.字符串的值用引号

2.PHP中尽量用单引号,HTML代码全部用双引号

3.在包含变量的时候,用双引号可以简化操作

4.复杂的情况下用大括号包起来

PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符\n需要用双引号才能好使,单引号则会直接把\n当成字符输出。


include()和require()方法的区别

PHP的include()和require()是两种包含外部文件的方法,对于这两种方法有什么区别,很多初学者可能不是很明白。下面总结一下PHP include()和require()的区别:


1:加载失败的处理方式不同:

include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)

require() :如果文件不存在,会报出一个fatal error.脚本停止执行

include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行

这里特别要注意的是:使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前

推荐使用require_once()和include_once(),可以检测文件是否有重复包含。


2.php性能

对include()来说,在 include()执行时文件每次都要进行读取和评估;

而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。

这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。

另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),

因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。


3.二种方式提供不同的使用弹性。

require 的使用方法如 require("./inc.php"); 。通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。

include 使用方法如 include("./inc/.php"); 。一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。

require即使在条件位FALSE的时候也会被包含,而include只会在执行到改位置时候才会去执行。

require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。require_once()函数的作用和 require() 是几乎相同的

include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。include_once()函数的作用和 include() 是几乎相同的

require_once的作用是会检查之前是否加载过该文件,如果没有加载则加载 如果加载过就不再次加载,比如某文件定义了一个类型 如果两次加载该文件会出现错误


以上就是PHP include()和require()方法的区别。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消