手机
当前位置:查字典教程网 >编程开发 >php教程 >PHP extract 将数组拆分成多个变量的函数
PHP extract 将数组拆分成多个变量的函数
摘要:extract()函数语法:intextract(array$var_array[,int$extract_type=EXTR_OVERWR...

extract()函数语法:

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 ajax 异步执行不等待执行结果的处理方法

smarty模板判断数组为空的方法

复杂检索数据并分页显示的处理方法

php实现window平台的checkdnsrr函数

PHP中在数据库中保存Checkbox数据(1)

php动态绑定变量的用法

PHPShop存在多个安全漏洞

PHP4 与 MySQL 数据库操作函数详解

PHP中GET变量的使用

用PHP将数据导入到Foxmail

精品推荐
分类导航