PHP中的可变变量的用法

  介绍

本篇内容介绍了PHP中”的可变变量的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

所谓可变变量,就是一个变量的变量名可以动态的设置和使用。语法形式是PHP的特殊语法,其他语言中少见

有时候使用可变变量名是很方便的。就是说,一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,例如:

& lt; PHP ?   a 美元;=,& # 39;你好# 39;;   祝辞;

一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。在上面的例子中你好使用了两个美元符号($)以后,就可以作为一个可变变量的变量了,例如:

& lt; php ?=$ $ a  & # 39; & # 39;;   ?在

这时,两个变量都被定义了:一个美元的内容是“你好”并且你好美元的内容是“世界”,因此,以下语句:

& lt; php ?   echo “a 美元;${$一个}“;   祝辞;

与以下语句输出完全相同的结果:

& lt; php ?   echo “a 美元;hello"美元;;   ?在

它们都会输出:hello world。

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

类的属性也可以通过可变属性名来访问。可变属性名将在该调用所处的范围内被解析,例如,对于$ foo→美元酒吧表达式,则会在本地范围来解析酒吧美元并且其值将被用于$ foo的属性名。对美元于酒吧是数组单元时也是一样。

也可使用花括号来给属性名清晰定界。最有用是在属性位于数组中,或者属性名包含有多个部分或者属性名包含有非法字符时(例如来自json_decode()或SimpleXML)。

<强>示例# 1可变属性示例

& lt; php ?   class  foo  {   var 才能;bar 美元;=,& # 39;小姐:am 酒吧强生# 39;;   var 才能;arr 美元;=,数组(& # 39;小姐:am 强生# 39;,,& # 39;小姐:am  B强生# 39;,,& # 39;小姐:am  C # 39;公司);   var 才能;r 美元,=,& # 39;小姐:am  18 # 39;;   }   foo 美元;=,new  foo ();=$ bar  & # 39;酒吧# 39;;   baz 美元;=,阵列(& # 39;foo # 39;,, & # 39;酒吧# 39;,,& # 39;巴兹# 39;,,& # 39;quux& # 39;);   echo  $ foo→bar 美元;只“\ n";   echo  $ foo→美元巴兹[1],只“\ n";=$ start  & # 39; b # 39;;   最终获得美元,=,& # 39;ar # 39;;   echo  $ foo→{start 美元;只$结束},只“\ n";   时间=美元arr  & # 39; arr # 39;;   echo  $ foo→美元arr[1],只“\ n";   echo  $ foo→{$ arr}[1],只“\ n";   祝辞;

以上例程会输出:

我酒吧。
我酒吧。
我酒吧。
我是r。
我是B。

<>强例2可变属性示例

& lt; php ?   ,//你还要even  add  more  Dollar 迹象=,美元Bar “a";=,美元Foo “Bar";=,美元World “Foo";=,美元Hello “World";=,美元a “Hello";   ,一个美元;//Returns ,你好   ,$ $;//Returns 世界   ,$ $ $;//Returns  Foo   ,$ $ $ $;//Returns 酒吧   ,$ $ $ $ $;//Returns    ,$ $ $ $ $ $;//Returns ,你好   ,$ $ $ $ $ $ $;//Returns 世界   ,//约皊o 提醒…//?在

<强> # 3例子可变属性示例

& lt; php ?//,Given  these  variables …   美元nameTypes ,=,阵列(“至上”,,“last",,“company");   美元name_first ,=,“John";   美元name_last ,=,“Doe";   时间=美元name_company “PHP.net";//,Then 却;能够loop  is …   foreach (nameTypes 美元;as  $类型)   ,print  $ {“name_ type"美元;},只“\ n";//,,,equivalent 用却;能够print 语句。   print “name_first \ n name_last美元\ n name_company \ n"美元;;   ?在

以上例程会输出:


约翰多伊
PHP.net
约翰
能源部PHP.net

ps: PHP可变参数入门详解

本文主要针对于PHP学习入门者,因此我们以一个具体的例子来代入讲解。

首先,我们需要编写一个PHP函数来计算两个数的和,可以如下编写:

PHP中的可变变量的用法