php可变变量讲解,PHP可变变量实例详解
什么是可变变量?
在PHP中有一个其他类型的变量,“可变变量”。可变变量是一种PHP独特的变量,他允许动态改变一个变量的名称。
可变变量的工作原理
这个特性的工作原理是用一个变量的值作为另一个变量的名称。例如,我们可以设置$str的值:
$name = 'str';
于是,我们就可以用
name 取代$str。
name = 5;
这个代码等价于:
$str= 5;
使用方法
使用可变变量就是在变量的前面多加一个美元符号“$”。
数组使用可变变量
为了使用数组的可变变量名,你需要解决一个歧义问题。就是,如果你写$$a[1],解析器需要明白究竟你的意思是要把$a[1]当成一个变量,还是要把$$a当成变量、[1]指的是这个变量的索引。解决这个歧义问题的语法是:第一种情况使用${$a[1]},第二种情况使用${$a}[1]
类属性也可以通过可变属性名来访问。可变属性名从产生调用所在的变量的访问范围内获取。例如,如果你的表达式是这样的:$foo->$bar,那么运行时将会在本地变量范围内寻找变量$bar,它的值将会做为$foo对象的一个属性名。如果$bar是个数组也可以使用。
可变变量名不能用于PHP函数和类里的超级全局数组变量上。变量$this也是一个不能动态取名的特殊变量。
实例
下面的实例使用可变变量改变变量的名称。代码如下:<?php
header("content-type:text/html;charset=utf-8"); //设置编码
$str='trans'; //声明变量$str
$trans='PHP中文网'; //声明变量$trans
echo $str; //输出变量$str
echo "
";
echo $$str; //通过可变变量输出$trans的值
?>
实例详解:
首先定义两个变量$str和$trans,并且输出变量$str的值,然后使用可变变量来改变变量$str的名称,最后输出改变名称后的变量值
运行结果如下:
上面就是对可变变量的简单用法,下一节,为大家介绍“PHP的预定义变量”
相关视频教程推荐:《php.cn独孤九贱(4)-php视频教程》可变变量:为创建新变量提供了一种新思路
php可变变量讲解,PHP可变变量实例详解相关推荐
- python函数中可变参数的传递方式是_Python函数可变参数定义及其参数传递方式实例详解...
本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...
- python中可变参数args传入函数时储存的类型是,Python函数可变参数定义及其参数传递方式实例详解...
本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...
- java代码逻辑讲解_java逻辑控制语句实例详解
一.Java选择结构 1.if(条件)-else结构 当条件==true时执行if下的语句,否则执行else下的语句 2.if(条件1)-else if(条件2)-else结构(相关视频教程推荐:ja ...
- php的可变函数,php之可变函数的实例详解
php之可变函数的实例详解 php的可变函数,今天大概的了解下,是看php手册总结的,觉得用处不大: PHP 支持可变函数的概念.这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数, ...
- java学习 类变量 类方法_这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下类变量(...
这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 类变量(static) 类变量是该类的所有对象共 ...
- 【Linux】19.Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解
Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解 参考链接: https://www.jianshu.com/p/a62e1d327023 LD_LIBRARY_PATH中的LD ...
- JAVA中希尔排序去的讲解_java 中基本算法之希尔排序的实例详解
java 中基本算法之希尔排序的实例详解 希尔排序(Shell Sort)是插入排序的一种.也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本.希尔排序是非稳定排序算法.该方法因DL.Shel ...
- python导入模块的变量_python 环境变量和import模块导入方法(详解)
1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...
- 合法的python变量名import_python 环境变量和import模块导入方法(详解)
1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 imp ...
最新文章
- 面板服务器默认是什么系统,免费Linux服务器管理面板,你用的是哪个?
- linux apache cpu,linux – Apache使用100%的CPU. “ps”命令可以告诉我它在做什么吗?...
- centos7全离线安装redis3.2.8集群
- 集合框架知识系列05 HashMap的源码分析和使用示例
- 【git学习二】git基础之git管理本地项目
- oracle拆分字段为多行,一句话实现字段拆分成多行
- 价格的格式化 php,价格格式化问题。
- C#Array(数组) 一维、多维数组
- C# 图片文件文本string格式 传输问题
- 福建职称计算机评聘任,职称聘任工作的有关补充规定(试行)
- 使用IHTMLDocument3 的getElementById获取控件总是返回空的解决方法
- 数据集图片批量重命名
- 顺丰业绩突然爆雷:预计巨亏9-11亿!京东、美团等10家平台承诺不用大数据杀熟;苹果推迟MacBook和iPad生产|极客头条...
- Linux文件查找及压缩工具
- 微信开放平台错误码大全
- d3-axis坐标轴
- 2019年的人工智能需要什么
- 今日踩坑Maven:omitted for duplicate
- 如何用70行Java代码实现深度神经网络算法
- java对图片进行压缩处理