PHP学习笔记【7】_变量

1、系统为每一个变量分配一个存储单元,变量名实质上就是计算机内存单元的名字,因此借助变量名就可以访问内存中的数据


2、PHP在使用变量之前并不需要先声明(PHP4之前需要先声明),只需为变量赋值即可。


3、PHP中变量名由$+标识符组成。


4、PHP中变量名区分大小写


5、PHP中给变量赋值的方法:

①直接赋值:字符串和数字类型的变量,用"="实现。

②变量间的赋值:赋值后两个变量使用各自的内存,互不干扰,是两块内存。

③引用赋值:PHP4之后引入的概念,用不同的名字访问同一个变量内容,使用&符号来实现,一个修改后全都都会修改。


6、按作用域划分:

①局部变量:

函数内部定义变量,作用域是该函数

②全局变量:

定义在所有函数外的变量,作用域是整个PHP文件,但在用户自定义函数内部不可用,除非使用global关键字在函数内部声明。

<?php
    $str1='全局变量1';
    $str3='全局变量2';
    function test(){
        $str2='局部变量';
        global $str3;
        global $str4;
        $str4='函数内部定义的全局变量';
        echo '函数内部:'.$str3.'<p>';
        echo '函数内部:'.$str4.'<p>';
    }
    test();
    echo '全局:'.$str3.'<p>';
    echo '全局:'.$str4.'<p>';
?>

③静态变量

在函数调用结束后扔保留变量值,当再次回到作用域时,还可继续使用原先的值。使用静态变量需要用static关键字。

用处:静态变量可以用来记录浏览人数,用户的聊天记录。

注意:静态变量只在第一次碰到时进行初始化,以后再碰到就不会进行初始化

<?php
    function test1(){
        static $num=0;
        $num+=1;
        echo $num.' '; 
    }
    function test2(){
        $num=0;
        $num+=1;
        echo $num.' '; 
    }
    for($i=0;$i<10;$i++){
        test1();
    }
    echo '<p>';
    for($i=0;$i<10;$i++){
        test2();
    }
?>


7、PHP中for循环的demo

for($i=0;$i<10;$i++){
    //执行代码
}


8、可变变量:允许动态改变一个变量的名称,其工作原理是该变量的名称由另一个变量的值来确定。实现过程就是在变量的前面再加一个($)

<?php
    $str1='str2';
    $str2='字符串2';
    echo $$str1;
?>

分析:$$str1=$str2='字符串2'


9、预定义变量:通过预定义变量可以获取用户会话、用户OS的环境和本地OS的环境信息。

$_SERVER['SERVER_ADDR'] 当前运行脚本所在的服务器的IP
$_SERVER['SERVER_NAME'] 当前运行脚本所在的服务器的主机名
$_SERVER['REQUEST_METHOD'] 访问页面请求的方法,GET / HEAD / POST / PUT等
$_SERVER['REMOTE_ADDR'] 正在浏览当前页面的用户的IP
$_SERVER['REMOTE_HOST'] 正在浏览当前页面的用户的主机名
$_SERVER['REMOTE_PORT'] 正在浏览当前页面的用户端口
$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径
$_SERVER['SERVER_PORT'] 服务器使用的端口,默认为80
$_SERVER['SERVER_SIGNATURE'] 包含服务器版本和虚拟主机名的字符串
$_SERVER['DOCUMENT_ROOT'] 当前运行脚本所在的文档根目录,在服务器的配置文件中定义
$_COOKIE 通过HTTPCookie传递到脚本的信息
$_SESSION 包含与所有会话变量有关的信息
$_POST 包含通过POST传递的参数的信息,用于获取通过POST方法提交的数据
$_GET 包含通过GET传递的参数的信息,用于获取通过GET方法提交的数据
$GLOBALS 由所有已定义全局变量组成的数组,变量名就是数组的索引


本文出自 “老谢” 博客,谢绝转载!

你可能感兴趣的:(PHP)