0610PHP基础:输出语句、数据类型、变量

输出语句======================================================================

一、echo输出、常用
    echo可以输出一个或者多个字符串,逗号隔开
    使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
二、print输出
    print只能输出一个字符串,成功输出则返回1
    可以使用括号,也可以不使用括号: print 或 print()。
三、print_r()
    可以把字符串和数字简单地打印出来,只能输出一个字符串,而数组则以括起来的键和值得列表形式显示,并以Array开头
四、var_dump()、常用
    判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
五、var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。

数据类型========================================================================

一、String(字符串):一个字符串是一串字符的序列
    规则:任何文本放在单引号和双引号中
二、Integer(整型):一个没有小数的数字
    规则:必须至少有一个数字、不能包含逗号或者空格、可以是正数或者负数
三、Float(浮点型):带小数部分的数字
四、Boolean(布尔型):true/false
    通常用于判断
五、Array(数组)
    数组可以在一个变量中存储多个值
    array('volvo','bmw','toyota')
六、Object(对象)
    对象数据类型也可以用于存储数据
    对象必须声明
    使用class关键字声明类对象
    类是包含属性和方法的结构
  <?php
  class Car
  {
    var $color;
    function __construct($color="green") {
      $this->color = $color;
    }
    function what_color() {
      return $this->color;
    }
  }
  ?>
七、Null(空值)
  1、Null表示变量没有值
  2、Null是数据类型为Null的值
  3、Null值指明一个变量是否为空值,同时可用于判断数据空值和Null值的区别
  4、也可以通过设置变量值为Null来清空变量数据

八、数据类型的获取与判断
  1、获取类型gettype()
    integer、double、string、array、object、null、unknown type
  2、判断类型is_类型名()
    is_numeric ( mixed var ):                //检测变量是 否为数字或数字字符串
    is_bool():            // 检测变量是否是布尔型
    is_float():            // 检测变量是否是浮点型 和is_double,is_real()都一样的用法
    is_int():            // 检测变量是否是整数is_integer() 一样的 用法
    is_string():            // 检测变量是否是字符串
    is_object():            // 检测变量是否是一个对象
    is_array():            // 检测变量是否是数组
    is_null():            // 检测变量是否为 NULL
  3、如果是当前类型,则返回值是1,否则什么也不返回

九、类型的转换
  1、对变量重写
    <?php
    $aa = 11;(原数据)
    $aa = 'aa';(重写数据)
    echo gettype($aa);//string
    ?>
  2、函数:intval()  floatval()  strval()
    < ?php  
    $str="123.9abc";  
    $int=intval($str);     //转换后数值:123  
    $float=floatval($str); //转换后数值:123.9  
    $str=strval($float);   //转换后字符串:"123.9"   
    ?>  
  3、(数据类型)变量:(int)  (bool)  (float)  (string)  (array) (object)
    < ?php  
    $num1=3.14;  
    $num2=(int)$num1;  
    var_dump($num1); //输出float(3.14)  
    var_dump($num2); //输出int(3)  
    ?>  
  4、类型转换settype(变量名,类型)
    <?php
    $num=12.8;
    $flg=settype($num,"int");
    var_dump($flg);  //输出bool(true)
    echo "<br/>";
    var_dump($num); //输出int(12)
    ?>

变量============================================================================
一、变量定义:变量是用于存储信息的“容器”
二、变量规则
        1、$变量名=值
        2、变量名必须以字母或者下划线开始
        3、变量只能包含字母、数字和下划线
        4、变量名是区分大小写的:$y 和 $Y 是两个不同的变量
三、变量作用域
        定义:变量的作用域是脚本中变量可被引用/使用的区域。
        分类:
    1、局部变量(local):在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问
     <?php
      function test(){
          $x = 0;
         }
      echo $x;//访问不到$x,报错
     ?>
    2、全局变量(global):在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
                    错误写法:
                        <?php
        $name = "why";
        function changeName(){
            $name = "what";
        }
        changeName();
        echo "my name is " . $name . "<br/>";
        ?>
      //执行代码的结果是:my name is why,而不是执行changeName()后显示what。分析原因,这是因为函数体changeName内$name变量被缺省设置为局部变量,$name的作用域就是在changeName内
                    修改第一次代码
                        <?php
        global $name;
        $name = "why";
        function changeName(){
            $name = "what";
        }
        changeName();
        echo "my name is " . $name . "<br/>";
       ?>
      //注意:不能在用global声明变量的同时给变量赋值。像global $name = "why"的使用方式是错误的。
    定义全局变量后执行的结果仍然为my name is why,。原来,global的正确用法是:"在一个函数中引入外部的一个变量,如果该变量没有通过参数传递进来,那么就通过global引入进来。" 也就是说,当一个函数引用一个外部变量时,可以在函数内通过global来声明该变量,这样该变量就可以在函数中使用了(相当于当作参数传递进来)
                    修改第二次代码
                        <?php
        $name = "why";
        function changeName(){
            global $name;
            $name = "what";
        }
        changeName();
        echo "my name is " . $name . "<br/>";
       ?>
      //这次的运行结果是:my name is what,说明global是起传递参数的作用,而并非使变量的作用域为全局
                    再次验证
                        <?php
        $name = "why";
        function changeName(){
           global $name;
            $name = "what";
        }
        function changeName2(){
            $name = "where";
        }
        changeName();
        changeName2();
        echo "my name is " . $name . "<br/>";
        ?>
        执行结果为:my name is what,如果在changeName2()中添加global $name,运行结果则是:my name is where。
      综上,global的作用就相当于传递参数,在函数外部声明的变量,如果在函数内想要使用,就用global来声明该变量,这样就相当于把该变量传递进来了,就可以引用该变量了。
                    除了使用global参数定义外,还可以使用超全局变量$GLOBAL:
                        <?php
        $name = "why";
        function changeName(){
            $GLOBALS['name'] = "what";
        }
        changeName();
        echo "my name is " . $name . "<br/>";
        ?>
    3、静态变量(static)
      当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
      要做到这一点,在第一次声明变量时使用 static 关键字
      function test(){
        static $x = 0;
        echo $x;
        $x++;
         }
      test();
      test();
      每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
      注:该变量仍然是函数的局部变量。
    4、参数作用域(parameter)
      参数是通过调用代码将值传递给函数的局部变量。
      <?php
        test(1);
        function test($x){
          echo $x+2;
           }
        echo $x;//取不到$x,报错
      ?>
四、对变量的一系列判断
  1、isset()
            判断变量是否已存在  如果有值  返回true  否则返回false
  2、unset()
            把变量删除(释放)掉
  3、empty()
            判断变量是否为空
  4、is_null
            判断变量是否为NULL
  5、具体判断表
     变量                     empty          is_null          isset
     $a=””                    true             false             true
     $a=null                 true             true              false
     $a                         true             true              false
     $a=array()            true             false             true
     $a=false               true             false             true
     $a=15                   false            false            true
     $a=1                     false            false            true
     $a=0                     true             false             true
     $a=”0”                  true              false             true
     $a=”true”              false             false            true
     $a=”false”             false            false             true
五、可变变量
  一个可变变量获取了一个普通变量的值作为这个可变变量的变量名

原文地址:https://www.cnblogs.com/zhangbaozhong/p/9162881.html