zoukankan      html  css  js  c++  java
  • 小知识点

    一,解析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。

  • 相关阅读:
    tensorflow卷积神经网络-【老鱼学tensorflow】
    tensorflow用dropout解决over fitting-【老鱼学tensorflow】
    tensorflow分类-【老鱼学tensorflow】
    Android 禁用字体大小和显示大小
    Android 自定义广播刷新页面数据信息
    ScrollView嵌套listview显示一行bug
    Android使用scrollview截取整个的屏幕并分享微信
    ToastUtils 工具类
    Android 获取版本号名称工具类
    Android 保存图片到相册
  • 原文地址:https://www.cnblogs.com/zoubizhici/p/5570457.html
Copyright © 2011-2022 走看看