zoukankan      html  css  js  c++  java
  • php第二节(变量、常量)

    <?php
    /**
     * 类型转换
     * 自动转换  数据在运算过程中自动转换
     * 空字符串 false
     * "0" false
     * null false
     * 0 false
     * 空数组 false
     * 1、 转为布尔型(即返回值为0)
     *    空字符串''或""
       * 数字0或0.0 字符'0'或"0"
       * 空值NULL 没有成员的数组 false
       **   其余都转换成布尔型true,包含资源 
    *2、 转为整数或浮点型    
      *  如果字符串为合法的数字字符串,则直接转换成整型/浮点型
      *  如果字符串中包含.或e或E,则转换成浮点型;否则转换成整型
      *  非法的数字字符串转换成数值0
     
    *3、  转为字符串型    
     *   数值将直接转换成数字字符串
     *   布尔型的true转换成字符"1";false转换空字符串
     */
    $name="0";// 0, 0.0 ,'' ,"" ,"0" ,'0' ,null, []  为false
    if($name){
        echo "yes";
    }else {
        echo "no";
    }
    //加法运算 字符串里的第一个数字开始算只要遇到不是数字的直接忽略
    $name1="1ss22";
    $age=12;
    $res=$age+$name1;
    echo $res;
    
    //. 想当于js中的 + 作连接符
      $age1="sdfff";
      $name2=122;
      $res1=$name2.$age1;
      echo $res1;
    
      /**
       * 强制数据转换
       *PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
       *(int)、(integer):转换成整形
       *(float)、(double):转换成浮点型
       *(string):转换成字符串
       *(bool)、(boolean):转换成布尔类型
       *(array):转换成数组
       * object):转换成对象
       * PHP数据类型有三种转换方式:
       * 在要转换的变量之前加上用括号括起来的目标类型
       * 使用3个具体类型的转换函数,
       * intval()、
       * floatval()、
       * strval()
       * 使用通用类型转换函数settype(mixed var,string type)
       * 会改变原先的数据类型
       */
        $sum="12";
        $num=(int)$sum;
        $sum1="12";
        $num2=(int)$sum1;
        $sum2="12";
        $num2=(int)$sum2;  
        var_dump(num); 
        var_dump(num1); 
        var_dump(num2); 
        //PHP数据类型有三种转换方式:
        //intval($sum);   strvak($sum);   floatval($sum); 
        $we=intval($sum);
        var_dump($we);
       //分别用var_dump();打印
        //通用函数  settype($sum,"string");
        $str=settype($sum,"string");
        var_dump($str);
    
       /**
     * 变量默认值
     *  1.不确定类型时的默认值(null):
      * 2.数值类型时的默认值(0):
      * 3.字符串的默认值是(” ”);
      * 4.布尔类型的默认值是(假);
      * 5.数组的默认值是(0
     */
    /**
     * 变量的作用域
     * 全局变量 函数之外的变量
     * 局部变量 函数内定义的变量
     * 超全局变量 系统定义的变量
     * 静态变量  函数内部定义用于函数数据共享 
     */
    
    /**
     * 变量的常用函数
     * is_array()  判断是否为数组
     * is_null()  判断是否为null
     * unset()  //销毁对象变量等
     * isset()  检查变量是否存在; null和变量声明未赋值 返回false,其他都为真 
     * empty();判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,
     * 
     */
    
    is_array()  判断是否为数组
    $arr = 12.2343;
    if (is_array($arr)) {
        echo "yes";
    } else {
        echo "no";
    }
    
    //is_null()  判断是否为null
    $name = null;
    if (is_null($name)) {
        echo "yes";
    } else {
        echo "no";
    }
    
    //unset()  //销毁对象变量等
    $name = array(1, 2, 3);
    class Person
    {
    }
    $obj = new Person;
    
    unset($obj); 
    echo "<pre>"; 
     var_dump($obj);
    
    //isset()  检查变量是否存在; null和变量声明未赋值 返回false,其他都为真 
     if (isset($name)) {
        echo "yes";
        } else {
            echo "no";
    }
    
    //empty();判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,
     if (empty($name)) {
        echo "yes";
        } else {
            echo "no";
    }
    
    // 什么是常量:
    //   常量可以理解为值不变的量;或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。PHP中的常量分为自定义常量和系统常量。
    //   自定义常量:是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define() 定义。
    //   系统常量:是PHP已经定义好的常量,我们可以直接拿来使用。
    
    //   常量的作用:
    //   常量主要功效是可以避免重复定义,篡改变量值。在我们进行团队开发时,或者代码量很大的时候,对于一些第一次定义后不改变的量,如果我们使用变量,在不知情的情况下,使用同一变量名时,变量值就会被替换掉,从而会引发服务器执行错误的任务。
    //   此外,使用常量还能提高代码的可维护性。如果由于某些原因,常量的值需要变更时候,我们只需要修改一个地方。
    
    //   认识系统常量:
    //   __FILE__ 当前PHP文件的相对路径 __LINE__ 当前PHP文件中所在的行号
    //   __FUNCTION__ 当前函数名,只对函数内调用起作用 __class__ 当前类名,只对类起作用
    //   PHP_VERSION 当前使用的PHP版本号 PHP_OS 当前PHP环境的运行操作系统
    //   true 与true一样 false 与false一样
    //   M_PI 圆周率常量值 M_E 科学常数e
    //   M_LOG2E 代表log2 E_ERROR 最近的错误之处
    //   E_WARNING 最近的警告之处 E_PARSE 剖析语法有潜在问题之处
    //   __METHOD__ 表示类方法名,比如B::test
    
    
    // define和const的区别:
    //   1 、const是一个语言结构;而define是一个函数,可以通过第三个参数来指定是否区分大小写。true表示大小写不敏感,默认为false
    //   例子:define('PI', 3.14, true);
    // 2 、const简单易读,编译时要比define快很多。
    //   3 、const可在类中使用,用于类成员常量定义,定义后不可修改;define不能在类中使用,可用于全局变量
    //   4 、const是在编译时定义,因此必须处于最顶端的作用区域,不能在函数,循环及if条件中定义;而define是函数,也就是能调用函数的地方都可以定义
    //   5 、const只能用普通的常量名,define常量名中可以有表达式
    //   6 、const定义的常量只能是静态常量,define可以是任意表达式
    //   判断常量是否被定义:
    //   defined() 函数可以帮助我们判断一个常量是否已经定义,其语法格式为:
    //   bool defined(变量名类型 变量名) 若存在则返回布尔类型true,否则返回布尔类型false。
    
    
    // 常量与变量的区别:
    //   1.   $ :常量前面没有( $)
    
    //   2.  define: 常量只能用define() 函数定义,而不能通过赋值语句
    
    //   3.  作用域:  常量可以不用理会变量的作用域而在任何地方定义和访问
    
    //   4.  重定义: 常量一旦定义就不能被重新定义或者取消定义
    
    //   5.  标量类型:常量的值只能是标量
    
    //   6.  命名空间:常量和(全局)变量在不同的名字空间中
    
     define("NAME", "jack");
    echo NAME;
    
     $res = constant("NAME");//有返回值
      echo $res;
     include("demo.php");
    
    
    ?>
  • 相关阅读:
    大道至简第四章读后感
    进度条08
    大道至简第五章读后感
    加密算法
    程序从命令行接收多个数字,求和之后输出结果。
    用JAVA制作简单登录窗口
    进度条07
    冲刺07
    冲刺06
    冲刺05
  • 原文地址:https://www.cnblogs.com/lmh951126/p/10142710.html
Copyright © 2011-2022 走看看