PHP extract 将数组拆分成多个变量的函数
2010-06-30 00:00
573 查看
extract()函数语法:
int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )
功能: extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。
结果为:
color = red
size = XXL
price = 53
通过上例发现$size的值为XXL,而不是之前的”old size”,说明默认情况下当数组中的key与已有的变量冲突时,将覆盖原来的变量。
继续介绍extract函数的后两个可选参数。
第二个参数$extract_type是用来控制当发生冲突时的处理方法,可能的值为:
EXTR_OVERWRITE : 冲突时覆盖已有的变量,默认值。
EXTR_SKIP : 不覆盖已有的变量,即不在生成该key和value对的变量。
EXTR_PREFIX_SAME : 冲突时,生成的新变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_PREFIX_ALL : 对所有生成的新变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_PREFIX_INVALID : 对key的值换为变量名时无效时(如key第一个字符为数字,而变量名要求第一个字符不能为数字),在变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_IF_EXISTS : 只取出之前已经存在的变量。
EXTR_PREFIX_IF_EXISTS : 对EXTR_IF_EXISTS取得的变量,在其变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_REFS : 以引用的方式提取变量,说明提取变量的值发生改变会影响原数组的值。
注意:在变量名加前缀字符串时,新的变量名为 PREFIX_key,而不是PREFIXkey。
结果为:
color = red
size = XXL
price = 53
green
int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )
功能: extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。
<?php $size = "old size"; //注意最后size变量的值。 $a = array( "color" => "red", "size" => "XXL", "price" => "53"); extract($a); echo "color = $color<br />"; echo "size = $size<br />"; echo "price = $price<br />"; ?>
结果为:
color = red
size = XXL
price = 53
通过上例发现$size的值为XXL,而不是之前的”old size”,说明默认情况下当数组中的key与已有的变量冲突时,将覆盖原来的变量。
继续介绍extract函数的后两个可选参数。
第二个参数$extract_type是用来控制当发生冲突时的处理方法,可能的值为:
EXTR_OVERWRITE : 冲突时覆盖已有的变量,默认值。
EXTR_SKIP : 不覆盖已有的变量,即不在生成该key和value对的变量。
EXTR_PREFIX_SAME : 冲突时,生成的新变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_PREFIX_ALL : 对所有生成的新变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_PREFIX_INVALID : 对key的值换为变量名时无效时(如key第一个字符为数字,而变量名要求第一个字符不能为数字),在变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_IF_EXISTS : 只取出之前已经存在的变量。
EXTR_PREFIX_IF_EXISTS : 对EXTR_IF_EXISTS取得的变量,在其变量名加一个前缀字符串,其值由第三个参数指定。
EXTR_REFS : 以引用的方式提取变量,说明提取变量的值发生改变会影响原数组的值。
注意:在变量名加前缀字符串时,新的变量名为 PREFIX_key,而不是PREFIXkey。
<?php $a = array( "color" => "red", "size" => "XXL", "price" => "53"); extract($a,EXTR_PREFIX_ALL,"SC"); echo "color = $SC_color<br />"; echo "size = $SC_size<br />"; echo "price = $SC_price<br />"; extract($a,EXTR_REFS); $color="green"; echo $a['color']; //查看原数组的值 ?>
结果为:
color = red
size = XXL
price = 53
green
相关文章推荐
- PHP extract 将数组拆分成多个变量的函数
- PHP extract 将数组拆分成多个变量的函数
- php extract 函数的妙用 数组键名为声明为变量,键值赋值为变量内容
- 实验九指针1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- 函数体内变量或数组的返回值
- 数组函数《拆分、合并、分解和接合》
- Qt开发中字符串、字节数组和变量常用的一些函数总结
- JavaScript中判断变量是数组、函数或是对象类型的方法
- study c(vc中测试过)——数组和函数,变量范围
- php 函数 将数组转换成标量变量:extract()
- 数组的拆分函数array_chunk()
- php语法基础(一)- 变量、常变量、函数、分支和循环、字符串、数组、类、时间、日期、包含文件、文件及图片读写等
- 普通变量和数组作为函数参数的区别
- Perl基本语法实例,变量,数组,函数,if, for, while
- JavaScript 练习,变量,数组,函数,对象, with for 语句
- 【c基础】c语言 变量 数组元素 数组名做函数参数传递
- 在C语言中运用全局变量返回函数的数组运算结果(Lu Hongling)
- assign() 功能的实现 数组分配到模板。使用 extract() 函数。 变量分配到模板。使用 compact()
- 实验9 指针1 、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依
- C++--函数,变量,数组底层表现