php之可变变量的实例详解
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();
这是做单入口模式的思路!
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
PHP可变变量学习小结
所谓可变变量,就是一个变量的变量名可以动态的设置和使用.语法形式是PHP的特殊语法,其他语言中少见 有时候使用可变变量名是很方便的.就是说,一个变量的变量名可以动态的设置和使用.一个普通的变量通过声明来设置,例如: <?php $a = 'hello'; ?> 一个可变变量获取了一个普通变量的值作为这个可变变量的变量名.在上面的例子中 hello 使用了两个美元符号($)以后,就可以作为一个可变变量的变量了.例如: <?php $$a = 'world'; ?> 这时,两个变量都被
-
PHP的可变变量名的使用方法分享
通常变量通过下面这样的语句来命名 : 复制代码 代码如下: <?php $a = 'hello'; ?> 可变变量名指的是使用一个变量的值作为这个变量的名称.在上面的例子中,通过使用两个$符号,你可以把hello设置成一个变量的名称,就像下面那样. 复制代码 代码如下: <?php $$a = 'world'; ?> 通过上面的两个语句,有两个变量被定义:变量$a,装的内容是"hello" 以及变量$hello,装的内容是 "world".
-
数组与类使用PHP的可变变量名需要的注意的问题
有时候可变的变量名会给编程带来很大的方便.也就是说变量名可以被动态的命名和使用.通常变量通过下面这样的语句来命名 :$a = 'hello';可变变量名指的是使用一个变量的值作为这个变量的名称.在上面的例子中,通过使用两个$符号,你可以把hello设置成一个变量的名称,就像下面那样.$$a = 'world'; 通过上面的两个语句,有两个变量被定义:变量$a,装的内容是"hello" 以及变量$hello,装的内容是 "world". 于是,下面的语言:echo &
-
PHP变量的定义、可变变量、变量引用、销毁方法
复制代码 代码如下: <?php$long="big_long_variable_name";$$long="PHP"; /* 用存放在变量$long里的字符串作为新变量的变量名,等同于$big_long_variable_name="PHP"; */$short=& $big_long_variable_name; /* 取变量$big_long_variable_name的值赋给变量$short,此时$short的值为
-
php之可变变量的实例详解
php之可变变量的实例详解 前言: 最近在技术博客网站上偶然间浏览到一个新名词:"php的可变变量":然后就在网上查了下了解下,觉得用的还挺方便的,下面都是从网上代码copy到我本地环境运行后算是"拿来主义!" php手册上这样说: 有时候使用可变变量名是很方便的.就是说,一个变量的变量名可以动态的设置和使用.一个普通的变量通过声明来设置,例如: $a = 'hello'; $$a = 'world'; echo "$a ${$a}"; echo
-
php之可变函数的实例详解
php之可变函数的实例详解 php的可变函数,今天大概的了解下,是看php手册总结的,觉得用处不大: PHP 支持可变函数的概念.这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它.可变函数可以用来实现包括回调函数,函数表在内的一些用途. 可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构.需要使用自己的包装函数来将这些结构用作可变函数. class Foo { func
-
Python 变量类型实例详解
目录 1.变量赋值 2.多个变量赋值 3.标准数据类型 4.Python 数字 5.Python字符串 6.Python列表 7.ython 元组 8..Python 字典 9.Python数据类型转换 前言: 变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符. 1.变量赋值 Python 中的变量赋值不需要类型声明. 每个变量在内
-
对python:循环定义多个变量的实例详解
我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串. exec函数的简单例子: >>>exec ('print "hello world"') hello world 可以很清晰的看到,我们给exec传入一个字符串'print "hello world"',exec是执行字符串里面的代码print "hello world&quo
-
Java数组传递及可变参数操作实例详解
本文实例讲述了Java数组传递及可变参数操作.分享给大家供大家参考,具体如下: 方法可以操作传递和返回基本数据类型,但是方法中也可用来传递和返回数组.如果要向方法中传递一个数组,则方法的接收参数处必须是符合其类型的数组.而且数组属于引用数据类型,所以在把数组传递进方法之后,如果方法对数组本身做了任何修改,修改结果都是会保存下来的. 向方法中传递数组 在java中,所有对象都是通过引用进行操作的.而数组也是一种对象,当把数组作为参数传递给方法时,传递的实际上就是数组对象的引用.在方法中对数组的所有
-
php魔术变量用法实例详解
本文实例讲述了php魔术变量用法,其中__DIR__是php5.3新增的,分享给大家供大家参考.具体用法分析如下: 系统常量 __FILE__ 当前文件名 __LINE__ 当前行数 __FUNCTION__ 当前函数名 __CLASS__ 当前类名 __METHOD__ 当前对象的方法名 详细分析 1. __FILE__ 文件的完整路径和文件名.如果用在被包含文件中,则返回被包含的文件名.自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径)
-
Python基础之高级变量类型实例详解
本文实例讲述了Python高级变量类型.分享给大家供大家参考,具体如下: 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 -- 非零即真 假 False 0 复数型 (complex) 主要用于科学计算,例如:平面场问题.波动问题.电感电容等问题 非数字型 字符串 列表 元组 字典 在 Python 中,所有 非数字型变量 都支持以
-
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
本文实例讲述了JavaScript ECMA-262-3变量对象.分享给大家供大家参考,具体如下: 介绍 我们在创建应用程序的时候,总免不了要声明变量和函数.那么,当我们需要使用这些东西的时候,解释器(interpreter)是怎么样.从哪里找到我们的数据(函数,变量)的,这个过程究竟发生了什么呢? 大部分ECMAScript程序员应该都知道变量与 执行上下文 密切相关: var a = 10; // variable of the global context (function () { v
-
python实现可变变量名方法详解
如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做? 在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成内存地址,所以除了手动设置每个变量的值以外,没办法做到这点.而Python这种动态语言则是可以做到的. 最容易想到的自然是eval,但是实际上根本不需要这种危险的东西,因为Python的变量名就是一个字典的key而已.要获取这个字典,直接用locals和globals函数即可. 因此这个程序可以这样实现: 代码如下: >>> names = loc
-
php的常量和变量实例详解
php的常量和变量实例详解 [PHP在命令行下接收参数] 如果在命令行调试php,传入的参数通过$argv获取,注意其中包含了文件名这一个元素,数组中元素的个数通过$argc获取. [可变变量] 指的是变量的名称可变,变量的标识符可以由另一个变量的值来代替. 例如:第二个语句是为argv1这个变量赋值. <?php $varName = 'argv1'; $$varName = 'value1'; var_dump($argv1); ?> [常量] 使用define定义,不可删除和修改,调用时
随机推荐
- JS控制HTML元素的显示和隐藏的两种方法
- javascript下动态this与动态绑定实例代码
- Java爬虫实战抓取一个网站上的全部链接
- Python实现计算最小编辑距离
- asp.net Parameters.AddWithValue方法在SQL语句的 Where 字句中的用法
- JS 时间显示效果代码
- J2SE 1.5版本的新特性一览
- 深入浅析Node.js单线程模型
- 判断在css加载完毕后执行后续代码示例
- AJAX实现仿Google Suggest效果
- Android消息推送:手把手教你集成小米推送(附demo)
- Sql Server使用cursor处理重复数据过程详解
- WordPress中的shortcode短代码功能使用详解
- 比较简单实用的WEB安全设置总结
- springMVC返回复杂的json格式数据方法
- java字符串常用操作方法(查找、截取、分割)
- linux下上传下载文件夹的方法
- JS实现的进制转换,浮点数相加,数字判断操作示例
- python数据预处理 :样本分布不均的解决(过采样和欠采样)
- Java对象不使用时赋值null的意义详解