美文网首页
PHP手册之可变变量

PHP手册之可变变量

作者: killtl | 来源:发表于2018-03-20 13:18 被阅读0次

前言

PHP手册系列文章,会挑选一些手册中有意思的评论进行翻译
手册目录: 语言参考---变量---可变变量
参考详情

评论

  1. php允许你添加很多的$符号来使用可变变量
$Bar = "a";
$Foo = "Bar";
$World = "Foo";
$Hello = "World";
$a = "Hello";

echo $a; //Returns Hello
echo $$a; //Returns World
echo $$$a; //Returns Foo
echo $$$$a; //Returns Bar
echo $$$$$a; //Returns a

echo $$$$$$a; //Returns Hello
echo $$$$$$$a; //Returns World
  1. php可以通过可变变量调用类方法
class Foo {
    public function hello() {
        echo 'Hello world!';
    }
}
$my_foo = 'Foo';
$a = new $my_foo();
$a->hello(); //prints 'Hello world!'

同时也可以通过可变变量调用类静态方法

class Foo {
    public static function hello() {
        echo 'Hello world!';
    }
}
$my_foo = 'Foo';
$my_foo::hello(); //prints 'Hello world!'
  1. 定界符{}对于使用可变变量是很重要的
$tab = array("one", "two", "three") ;
$a = "tab" ;
$$a[] ="four" ; // <==== fatal error
print_r($tab) ;

会报错,这并不是一个bug,而是书写的错误,对于$$a[]我们需要使用定界符,写程${$a}[]即可正确执行

  1. 你不可以像$variable-name= 'name' 这样命名一个变量,但是你可以通过可变变量做到
$a = 'variable-name';
$$a = 'hello';
echo $$a; //output hello
  1. 可能有些情景,你想要使用可变变量来动态引用超全局变量,但是是否能成功有时可能会因为当时的访问范围的变化而变化
$_POST['asdf'] = 'something';
function test() {
    // NULL -- not what initially expected
    $string = '_POST';
    var_dump(${$string});

    // Works as expected
    var_dump(${'_POST'});

    // Works as expected
    global ${$string};
    var_dump(${$string});

}
// Works as expected
$string = '_POST';
var_dump(${$string});
test();

除了test方法中的第一个引用失败,其他均成功

相关文章

  • PHP手册之可变变量

    前言 PHP手册系列文章,会挑选一些手册中有意思的评论进行翻译手册目录: 语言参考---变量---可变变量参考详情...

  • 九月二号

    PHP函数之可变函数 所谓可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来...

  • 3.3 php可变变量

    可变变量是php独有的

  • php中的变量和常量

    php是弱类型语言,变量类型和存入的值相关 变量 php中声明一个变量用 $符 php中变量的命名规范 可变变量:...

  • 2019-03-11 PHP学习笔记之PHP的基本语法(2)

    参考资料:《细说PHP》、《PHP、MySQL与JavaScript学习手册》 变量的类型 变量类型指保存在该变量...

  • php简明手册

    # **PHP简明手册** ## **变量 和 常量** > 1. 变量和常量是PHP中最基本的数据存储单元,它们...

  • PHP手册之变量范围

    前言 PHP手册系列文章,会挑选一些手册中有意思的评论进行翻译手册目录: 语言参考---变量---变量范围参考详情...

  • php变量和数据类型

    php中的变量 PHP中的变量声明 PHP中的变量的使用 PHP中的数据类型之整型 PHP数据类型之浮点类型和布尔...

  • 6.2 可变函数

    可变函数的意思类似可变变量,指的是函数调用时,该函数的名字可以是一个变量,PHP会自动根据该变量的值去寻找同名的函...

  • PHP引用计数

    1. PHP官方手册引用计数介绍 引用计数每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,...

网友评论

      本文标题:PHP手册之可变变量

      本文链接:https://www.haomeiwen.com/subject/zyovqftx.html