博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小知识点
阅读量:4650 次
发布时间:2019-06-09

本文共 2519 字,大约阅读时间需要 8 分钟。

一,解析php中die(),exit(),return的区别

die()停止程序运行,输出内容

exit是停止程序运行,不输出内容
return是返回值
die是遇到错误才停止
exit是直接停止,并且不运行后续代码,exit()可以显示内容。
return就是纯粹的返回值了,但是也不会运行后续代码
exit(0):正常运行程序并退出程序;
exit(1):非正常运行导致退出程序;
return():返回函数,若在主函数中,则会退出函数并返回一值。
详细说:
  1. return返回函数值,是关键字;  exit 是一个函数。
  2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
  3. return是函数的退出(返回);exit是进程的退出。
  4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
  5. return用 于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给 OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。
  6. 非主函数中调用returnexit效果很明显,但是在main函数中调用returnexit的现象就很模糊,多数情况下现象都是一致的

$a = 10;$b=3;$c = 25;unset($b);if(!isset($b)){	echo "变量b不存在!";	exit;	//退出程序		die("变量b不存在!"); //输出错误信息并且退出程序}$sum = $a+$b;echo $sum;echo "
";echo $a*$sum;

 

二、PHP 析构方法 __destruct()

PHP 析构方法 __destruct() 允许在销毁一个类之前执行执行析构方法。

析构方法

与构造方法对应的就是析构方法,析构方法允许在销毁一个类之前执行的一些操作或完成一些功能,比如说关闭文件、释放结果集等。析构函数不能带有任何参数,其名称必须是 __destruct() 。function __destruct() { ...... }

提示

  1. 和构造方法一样,PHP 不会在本类中自动的调用父类的析构方法。要执行父类的析构方法,必须在子类的析构方法体中手动调用 parent::__destruct() 。
  2. 试图在析构函数中抛出一个异常会导致致命错误。
  3. 在 PHP4 版本中,构造方法的名称必须与类名相同,且没有析构方法。
class Ren{	public $name="张三";	public $sex;	public $age;		function Run()	{	}		function show()	{		echo "name代表姓名,sex代表性别,age代表年龄,Run()方法代表跑的方法";	}		//析构方法	function __destruct()	{		//在对象销毁之前,将内存释放,连接关闭等等		echo "该对象销毁了!";	}		//在输出对象的时候调用,必须有一个返回值	function __tostring()	{		//return "name代表姓名,sex代表性别,age代表年龄,Run()方法代表跑的方法";		return $this->name;	}		}//写法特殊:__destruct//执行时间特殊:在对象销毁的时候执行$r = new Ren();$r->name = "张三";var_dump($r);$r = new Ren();echo $r;

 三、php中print(),print_r(),echo()的区别详解

cho是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)  

print()      只能打印出简单类型变量的值(如int,string)  

print_r() 可以打印出复杂类型变量的值(如数组,对象)  

echo        输出一个或者多个字符串

print --输出一个字符串

Descriptionint print ( string arg )//返回值为整形print " 你好朋友" ;

print_r -- 打印关于变量的易于理解的信息。

bool print_r ( mixed expression_r [, bool return] ) //返回值是布尔型的,参数是mix类型的,可以是字符串,整形,数组,对象类print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。

print_r() 将把数组的指针移到最后边。

print_r(str);print_r(int);print_r(array);print_r(obj);

echo -- 输出一个或者多个字符串

Descriptionvoid echo ( string arg1 [, string ...] ) //返回值为空echo " 你好" ," 朋友" ;

总结:

PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。

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

echo 没有返回值;print 有返回值,print 的返回值总是1。

转载于:https://www.cnblogs.com/zoubizhici/p/5570457.html

你可能感兴趣的文章
ssh无密码登录设置方法以及出现问题 ECDSA host key 和IP地址对应的key不同的解决...
查看>>
Hibernate和MyBatis的对比
查看>>
Loadrunner 11 对Windows操作系统和浏览器的要求
查看>>
Python学习day8(文件操作)
查看>>
为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname
查看>>
ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(1)用户注册
查看>>
pandas介绍及环境部署
查看>>
压缩解压命令流
查看>>
php yii Redis实现并发锁
查看>>
smyfony2-curd-数据库创建
查看>>
[Android]File-Output和InputStream的存取
查看>>
开发环境的坑
查看>>
站点高可用方案例子
查看>>
Spring(Bean)3
查看>>
MVC框架和MTV框架
查看>>
小学生运算题目生成器说明书
查看>>
shell -- sed用法
查看>>
spring框架学习笔记5:SpringAOP示例
查看>>
Go基础(2)
查看>>
python玩丢手绢问题,出局的顺序
查看>>