PHP5学习笔记-变量

4 篇文章 0 订阅

PHP的变量名以美元符号$开始, 可以包含数字,字母,以及下划线, 只能字母或者下划线开头,不能以数字开头.

$str = "hey, 妈妈叫你回去7饭饭拉";

echo $str;


还有一种是变量间的赋值

1) 一般赋值, 两个变量享有不同内存区域, 改变原变量不会影响第二个变量

$num1 = 1;
$num2 = $num1;
$num1= 3;


echo $num1 .'<br/>';
echo $num2 .'<br/>';


2) 传址/引用赋值

从PHP4.0开始引入了传址/引用赋值, 在原变量前加 &符号, 表示对原变量的引用, 原变量改变,引用的变量的值也会相应改变

$num1 = 1;
$num2 = &$num1;
$num1= 3;

echo $num1 .'<br/>';
echo $num2 .'<br/>';


变量的作用域


分全局, 局部, 静态变量


1)全局变量

定义在函数外部的变量,作用域是整个PHP文件

在函数内部要使用全局变量,方式有两种:

 一种是在函数内,对要使用的全局变量使用global关键字进行声明,然后再使用就可以了;

第二种方式是直接使用内置函数$GLOBALS

DEMO:

     $name_str = "妈妈叫你回家吃饭啊,麦兜";
    
   
     function getStr(){
         /**方法一
        //必须先声明其为全局变量
        global $name_str;
        //使用全局变量
        $tempt_str = 'Hello '.$name_str;
          * 
          */
         //方法二,使用内置函数$GLOBALS
         $tempt_str = 'Hello '.$GLOBALS['name_str'];
        return $tempt_str;
    }
    
  
    
    echo getStr();

2. 局部变量,定义在函数内部, 外部是无法使用的


3. 静态变量,使用static声明, 不同于普通变量, 使用后就销毁, 静态变量的值会一直存在于内存中. 进入该变量作用域后会继续最后一次使用的值

DEMO:

 //-----------------使用静态变量----------------------------
    function momCallU(){
        static $count = 1;
        $count += 1;
        return "Mom has called u $count time(s) for dinner, Maidou<br/>";
    }
    echo "-----------------使用静态变量----------------------------<br/>";
    for($i = 0; $i<10; $i++)
        echo momCallU();
    echo '--------------------------------------------------------<br/>';
    //-------------------------使用普通变量-----------------------
     function momCallU2(){
        $count2 = 1;
        $count2 += 1;
        return "Mom has called u $count2 time(s) for dinner, Maidou<br/>";
    }
    echo "-----------------使用普通变量----------------------------<br/>";
    for($j = 0; $j<10; $j++)
        echo momCallU2();

输出为:

-----------------使用静态变量----------------------------
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 3 time(s) for dinner, Maidou
Mom has called u 4 time(s) for dinner, Maidou
Mom has called u 5 time(s) for dinner, Maidou
Mom has called u 6 time(s) for dinner, Maidou
Mom has called u 7 time(s) for dinner, Maidou
Mom has called u 8 time(s) for dinner, Maidou
Mom has called u 9 time(s) for dinner, Maidou
Mom has called u 10 time(s) for dinner, Maidou
Mom has called u 11 time(s) for dinner, Maidou
--------------------------------------------------------
-----------------使用普通变量----------------------------
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou
Mom has called u 2 time(s) for dinner, Maidou


4.可变变量


这是一种比较特殊的用法, 变量名是动态的,而不是预先设定好

//-----------可变变量---------------------
    
    $changeable = "saysth";
    $saysth = "hello, Maidou!";
    
    echo $changeable . '<br/>';
    
    echo $$changeable . '<br/>';


输出为:

saysth
hello, Maidou!

5.预定义变量

---------------------------------------------------------------------------------------------------------------------------------------------------

变量名                                                                  说明

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SERVER_ADDR']                    当前运行脚本所在服务器的IP地址

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SERVER_NAME']                   ....的主机名称

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SERVER_PORT']                 ....的端口

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REQUEST_METHOD']       访问页面时的请求方法, 如GET, HEAD, POST, PUT

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REMOTE_ADDR']              当前浏览的用户的IP

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REMOTE_HOST']              ....的主机名

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REMOTE_PORT']             ....的端口

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SCRIPT_FILENAME']     当前脚本的绝对路径

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['DOCUMENT_ROOT']     脚本所在文档的根目录,在服务器配置文件中定义

---------------------------------------------------------------------------------------------------------------------------------------------------

$_COOKIE                                             操作COOKIE

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SESSION                                          操作SESSION

---------------------------------------------------------------------------------------------------------------------------------------------------

$_GET                                                   操作GET传递的信息

---------------------------------------------------------------------------------------------------------------------------------------------------

$_POST                                                操作POST传递的信息

---------------------------------------------------------------------------------------------------------------------------------------------------

$GLOBALS                                          所有全局变量的超级

---------------------------------------------------------------------------------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值