php之可变变量的实例详解
发布:smiling 来源: PHP粉丝网 添加日期:2018-09-09 13:50:46 浏览: 评论:0
php之可变变量的实例详解
前言:最近在技术博客网站上偶然间浏览到一个新名词:"php的可变变量";然后就在网上查了下了解下,觉得用的还挺方便的,下面都是从网上代码copy到我本地环境运行后算是"拿来主义!"
php手册上这样说:有时候使用可变变量名是很方便的。就是说,一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,例如:
- $a = 'hello';
- $$a = 'world';
- echo "$a ${$a}";
- echo "$a $hello";
它们都会输出:hello world。
要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要$$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。
类的属性也可以通过可变属性名来访问。可变属性名将在该调用所处的范围内被解析。例如,对于 $foo->$bar 表达式,则会在本地范围来解析$bar 并且其值将被用于 $foo 的属性名。对于 $bar 是数组单元时也是一样。也可使用花括号来给属性名清晰定界。
看到这里还是云里雾里的,再看,在日常html的<form ...>POST过来很多变量需要处理的,一般的我们会这样处理:
- $id = $_POST['id'];
- $name = $_POST['name'];
- $sex = $_POST['sex'];
- echo "<p>Your order is as follows:</p>";
- echo "<br />\$id=".$id;
- echo "<br />\$name=".$name;
- echo "<br />\$sex=".$sex;
但是现在问题来了,如果POST过来很多变量我们岂不累死啦!那现在可变变量的用处来啦,我们这样写:
- $array = array();
- foreach ($_POST as $key => $value) {
- $array[$$key] = $value;
- }
- echo '<pre>'; // 换行
- print_r($array);
- // 是不是很方便的呢!!
再来一个例子:
有class A和class B以及class C,他们都有自己的函数还是前端传值,这次是两个一个class,一个function同样的.
- $class=$_GET['class'];
- $func=$_GET['func'];
- $obj=new $class();
- $obj->$func();
这是做单入口模式的思路!
Tags: 变量 实例
- 上一篇:PHP清除缓存的几种方法总结
- 下一篇:PHP长网址与短网址的实现方法
相关文章
- ·PHP中全局变量global和$GLOBALS[]的区别(2013-12-02)
- ·php 全局变量global的使用方法(2013-12-23)
- ·php变量的引用传值详细教程(2014-01-03)
- ·PHP中global全局变量的作用范围(2014-01-06)
- ·PHP预定义变量(2014-01-14)
- ·变量的变量,PHP和你(2014-01-14)
- ·php 数据类型和变量(2014-01-15)
- ·php变量引用与对象引用详解介绍(2014-01-16)
- ·php变量使用方法详解(2014-01-16)
- ·PHP Global变量定义一些用法详解(2014-01-17)
- ·php判断变量是否是整数的两种方法(2014-02-10)
- ·PHP基础笔记函数global变量(2014-02-10)
- ·php 变量作用域学习笔记分享(2014-02-11)
- ·php中的变量引用传值学习笔记(2014-02-16)
- ·PHP中unset销毁变量引发的问题(2014-02-18)
- ·php中static关键字对变量和函数影响(2014-02-21)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)