PHP extract 将数组拆分成多个变量的函数
发布时间:2020-12-13 05:45:07 所属栏目:PHP教程 来源:网络整理
导读:extract()函数语法: int extract( array $var_array [,int $extract_type = EXTR_OVERWRITE [,string $prefix ]] ) 功能: extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。 代码如下: $size
extract()函数语法: int extract( array $var_array [,int $extract_type = EXTR_OVERWRITE [,string $prefix ]] ) 功能: extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。 代码如下: $size = "old size"; //注意最后size变量的值。 结果为: color = red $a = array( "color" => "red", "size" => "XXL", "price" => "53"); extract($a); echo "color = $color "; echo "size = $size "; echo "price = $price "; ?> 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。 代码如下: $a = array( "color" => "red", "price" => "53"); extract($a,EXTR_PREFIX_ALL,"SC"); echo "color = $SC_color "; echo "size = $SC_size "; echo "price = $SC_price "; extract($a,EXTR_REFS); $color="green"; echo $a['color']; //查看原数组的值 ?> 结果为: color = red size = XXL price = 53 green (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |