变量2

2022-01-11  本文已影响0人  禾苗种树
<?php
//字符串同js用引号括住,变量不用括住,html语句要在引号内输出才能被识别
header("Content-type:text/html;charset=utf-8");

// 变量:用于存储数据的容器
    $style= 4;
    $div = 6;
    $add = $style + $div;
    echo "结果为: $add" ;

// php变量规则
    // 与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。

    // 变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

    // PHP 变量规则:

    // 变量以 $ 符号开始,后面跟着变量的名称
    // 变量名必须以字母或者下划线字符开始
    // 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
    // 变量名不能包含空格
    // 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

   echo "<h1>PHP语句和PHP变量都是区分大小写的</h1>";


   //php是一门弱类型语言
        //在上面的实例中,我们么注意到,不必向php声明该变量的数据类型,php会根据变量的值自动把变量转换为正确的数据类型,
        //在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称


    //变量作用域
        //变量作用域是脚本中变量可被引用/使用的部分。
        /* PHP有四种不同的变量作用域:
            local
            global
            static
            parameter
        
        */

    echo "<p>局部与全局作用域</p>";
    $x = 5;//全局变量
    function myTest(){
        $y = 10;
        echo "测试函数内变量<br>";
        echo "变量x = $x";
        echo "<br>";
        echo "变量 y = $y <br><br>";
    }
        
    myTest();

    echo "测试函数外变量<br>";
    echo "变量x = $x";
    echo "<br>";
    echo "变量 y = $y";

    //很明显局部变量不能在函数外部识别,而全局函数在函数内部不能识别,全局函数想要在函数内使用需要加global
    //php global关键字:global 关键字用于函数内访问全局变量。在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字;


    echo "<p>测试global全局变量</p>";
    $a = 2;
    $b = 5;
    function myTestt(){
        global $a,$b;
        $b = $a + $b;
        
    }

    myTestt();
    echo $b;


    /*
    PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
    上面的实例可以写成这样:
    */
    $a1 = 2;
    $b1 = 5;
    function myTesttt(){
        $GLOBALS['b1'] = $GLOBALS['a1'] + $GLOBALS['b1'];
    }

    myTesttt();
    echo $b1;

    // Static作用域
        //定义:当一个函数完成时,它的所有变量通常都会被删除,然而,有的时候我们希望某个局部变量不要被删除,要做到这点,需要在第一次声明变量时使用static关键字;

        function myTestee(){
            static $x=0;
            echo $x ;
            $x++; //!!!就是保留每次运行的结果
            echo PHP_EOL; //换行符
        }
        myTestee();
        myTestee();
        myTestee();//然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。注释:该变量仍然是函数的局部变量。
?>
上一篇 下一篇

猜你喜欢

热点阅读