> 백엔드 개발 > PHP 튜토리얼 > PHP의 echo(), print(), require(), include()에 대한 심층적인 이해

PHP의 echo(), print(), require(), include()에 대한 심층적인 이해

WBOY
풀어 주다: 2016-07-25 09:05:42
원래의
953명이 탐색했습니다.
  1. $r = print "Hello World";
复制代码

这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。

2、include与require的区别 include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:

  1. if($a){
  2. include("a.php");
  3. }
复制代码

而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:

  1. if($a){
  2. require("a.php");
  3. }
复制代码

在错误处理方面,使用include语句,如果发生包含错误,程序将跳过include语句,虽然会显示错误信息但是程序还是会继续执行!但requre却会给你来个致命错误。 当然,从字面意思上我们也可以理解七分:requre是很强硬的请求、要求的意思。

3、.require_once()和include_once()语句 简单require_once()和include_once()语句分别对应于require()和include()语句。require_once() 和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。

4、空字符串('')和NULL的区别 PHP中空字符串和NULL都是以值为0存储的,但是他们的类型并不一样,你可以试一下echo gettype('');和echo gettype(NULL);你会发现他们打印出来的分别是string和NULL,当然还有0也容易混淆,你可以试试echo gettype(0);打印一下类型,会发现0的类型是integer(整型),可见字符串('')、NULL和0是“等值”但不等类型。

5、isset和 empty的区别 从字面意思上我们就可以明白:empty是判断一个变量是否为“空”,而isset 则是判断一个变量是否已经设置。但是这里有一点绝对要注意起来:当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。比如当我们检测$id 变量的时候,当$id=0 ,用empty和isset来检测变量$id是否已经配置,两都将返回不同的值:empty 认为没有配置,isset 则能够取得 $id 的值,看下边例子:

  1. $id=0;
  2. emptyempty($id)?print "我是空的":print "我是$id ."; //结果:我是空的
  3. !isset($id)?print "我是空的":print "我是$id .";//结果:我是0
复制代码

6、==(等)和===(恒等)的区别 回顾上面第四条空字符串("")和NULL的区别,这里再给出一个例子:

  1. '' == NULL;
  2. '' === NULL;
复制代码

运行后,第一个为true,第二个为false!可见==只是比较值是否相等,而===则不但比较值,还会比较类型,更为严格。



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿