小知识点

一,解析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 "<br>";

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 --输出一个字符串

Description

int 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 -- 输出一个或者多个字符串

Description

void 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。

posted on 2016-06-08 16:20  。。小兵  阅读(184)  评论(0编辑  收藏  举报