• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    3.4PHP中可变变量和预定义变量

    Posted by 撒得一地 on 2015年10月8日 in PHP入门教程
    国外稳定加速器推荐    Express | Vypr

    可变变量

    可变变量是一种独特的变量,它允许动态改变一个变量名称。其工作原理很简单,就是该变量的名称由另外一个变量的值来确定,实现过程就是在变量的前面再多加一个美元符号"$"。

    实例1:

    <?php
      $a = "hello";
      /*使用了两个美元符号后,就可以
        作为一个可变变量了。
      */
      $$a = "test"; 
    
      /*上面两个变量都被定义了,$a的内容
        是"hello",而且$hello的内容是"test"
      */
      echo "$a ${$a}"."<br/>";
      echo "$a $hello";
    ?>
    
    上面的输出结果:
    hello test
    hello test
    

    将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1]  时,解析器需要知道是想要 $a[1]  作为一个变量呢,还是想要 $$a  作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]} ,对第二种情况用 ${$a}[1] 。 

    类的属性也可以通过可变属性名来访问??杀涫粜悦诟玫饔盟Φ姆段诒唤馕?。例如,对于 $foo->$bar  表达式,则会在本地范围来解析 $bar  并且其值将被用于 $foo  的属性名。对于 $bar  是数组单元时也是一样。 

    实例2:

    <?php
     class  foo{
        var  $bar = 'I am bar.' ;
        var  $arr = array('I am A.','I am B.');
        var  $r = 'I am r.' ;
     }
     $foo  = new  foo ();
     $bar  =  'bar' ;
     $baz  = array( 'foo' ,  'bar' ,  'baz' ,  'quux' );
     echo  $foo -> $bar  .  "\n" ;
     echo  $foo -> $baz [ 1 ] .  "\n" ;
    
     $start  =  'b' ;
     $end    =  'ar' ;
     echo  $foo ->{ $start  .  $end } .  "\n" ;
    
     $arr  =  'arr' ;
     echo  $foo -> $arr [ 1 ] .  "\n" ;
     echo  $foo ->{ $arr }[ 1 ] .  "\n" ;
    ?>
    
    以上实例输出:
    I am bar.
    I am bar.
    I am bar.
    I am r.
    I am B. 
    

    预定义变量

    PHP还提供了很多非常实用的预定义变量,通过这些预定义变量可以获取到用户的会话、用户操作系统的环境和本地操作系统等信息。常用的预定义变量如下:

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

    $_SERVER[‘SERVER_NAME’] 当前运行脚本所在服务器主机名称。如果该脚本运行在一个虚拟主机上,则该名称由虚拟主机所设置的值决定。

    $_SERVER[‘REQUEST_METHOD’] 访问页面时的请求方法,如GET、HEAD、POST、PUT等,如果请求的方式时HEAD,PHP脚本将发出头信息后中止(这意味着在产生任何输出后,不再有输出缓冲)。

    $_SERVER[”REMOTE_ADDR] 正在浏览当前页面用户的IP地址。

    $_SERVER[‘REMOTE_HOST’] 正在浏览当前页面用户的主机名。反向域名解析基于该用户的REMOTE_ADDR。

    $_SERVER[‘REMOTE_PORT’] 用户连接到服务器时所使用的端口。

    $_SERVER[‘SCRIPT_FILENAME’] 当前执行脚本的绝对路径名。注意:如果脚本在CLI中被执行,作为相对路径,如file.php或者
    ../file.php,$_SERVER[‘SCRIPT_FILENAME’]将包含用户指定的相对路径。

    $_SERVER[‘SERVER_PORT’] 服务器所使用的端口,默认为80.如果使用SSL安全连接,则这个值为用户设置的HTTP端口。

    $_SERVER[‘SERVER_SIGNATURE’] 包含服务器版本和虚拟主机名的字符串。

    $_SERVER[‘DOCUMENT_ROOT’] 当前运行脚本所在的文档根目录。在服务器配置文件中定义。

    $_COOKIE 通过HTTPCookie传递到脚本的信息。这些cookie多数是由执行PHP脚本时通过setcookie()函数设置的。

    $_SESSION 包含与所有会话变量有关的信息。$_SESSION变量主要应用于会话控制和页面之间值的传递。

    $_POST 包含通过POST方法传递的参数的相关信息。主要用于获取通过POST方法提交的数据。

    $_GET 包含通过GET方法传递的参数的相关信息。主要用于获取通过GET方法提交的数据。

    $GLOBALS 由所有已定义全局变量组成的数组。变量名就是该数组的索引。它可以称得上是所有超级变量的超级组合。

    标签:, ,

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    2 + 9 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 北京pk10全天计划 新时时彩走势图500 老时时彩玩法 重庆时时彩开奖网站 海南飞鱼 pc蛋蛋兑奖有限制吗 重庆欢乐生肖官网 小财神彩票论坛 重庆时时彩骗局 北单和竞彩14场的区别 赛马会 双色球杀号16公式 澳门赌场视频 pk10计划人工在线计划 二分彩全天计划蜂巢 大乐透尾数走势图