将变量从PHP数组导出注册为全局变量,实现键名当作变量名,值作为变量的值,如下
代码如下 | 复制代码 |
$vars = array('var1'=>'1','var2'=>'2','var3'=>'3','var4'=>'4','var5'=>'5'); |
实现通过键名当作变量名的形式访问,如:$var1,$var2
第一种方案:采用PHP内置extract()函数,方法如下
代码如下 | 复制代码 |
extract($vars); |
第二种方案:采用foreach循环数组注册为全局变量,方法如下
代码如下 | 复制代码 |
foreach($vars as $k=>$v){ $GLOBALS[$k] = $v; } |
推荐采用第二种方案,因为extract()函数存在性能和安全问题。
extract() 函数说明
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
extract -- 从数组中将变量导入到当前的符号表
代码如下 | 复制代码 |
int extract ( array var_array [, int extract_type [, string prefix]] ) |
本函数用来将变量从数组中导入到当前的符号表中。接受结合数组 var_array 作为参数并将键名当作变量名,值作为变量的值。对每个键/值对都会在当前的符号表中建立变量,并受到 extract_type 和 prefix 参数的影响。
参考表
参数 | 描述 |
---|---|
array | 必需。规定要使用的输入。 |
extract_rules |
可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中的变量名是否冲突。 对非法、数字和冲突的键名的处理将根据此参数决定。可以是以下值之一: 可能的值:
|
prefix |
可选。请注意 prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。 前缀和数组键名之间会自动加上一个下划线。 |
使用全部参数:
代码如下 | 复制代码 |
php extract($my_array, EXTR_PREFIX_SAME, 'dup'); echo "$a = $a; $b = $b; $c = $c; $dup_a = $dup_a;"; 输出: $a = Original; $b = Dog; $c = Horse; $dup_a = Cat; |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级