数组函数库

extract

(PHP3 >= 3.0.7 , PHP4)

array_extract ---  从数组输入变量到符号表格中

语法 : void extract(array var_array, int [extract_type] , string [prefix] );

说明 : 

此函数从数组输入变量到目前的符号(symbol)表格中,它取数组var_array并且看待索引值为变量名称,值为变量值,它将各个key/value对建立一变量在目前符号表格中以extract_type和prefix为条件

extract( )检查现存的变量,由参数extract决定碰撞时处理的方式为何,它可以是以下之一的值 :

EXTR_OVERWRITE

若发生碰撞则覆盖过现存的变量

EXTR_SKIP

若发生碰撞则不覆盖过现存的变量

EXTR_PREFIX_SAME

若发生碰撞则将参数prefix加在字首前面成为新变量

EXTR_PREFIX_ALL

把所有变量的字首都加上参数prefix

如果没有指定参数extract_type,则使用EXTR_OVERWRITE

注意 : 当extract_type是EXTR_PREFIX_SAME或是 EXTR_PREFIX_ALL时,才需要参数prefix

Example :

<?php

    /* Suppose that $var_array is an array returned from   wddx_deserialize */

   $size = "large";

   $var_array = array("color" => "blue", "size"  => "medium","shape" => "sphere");

   extract($var_array, EXTR_PREFIX_SAME, "wddx");

   print "$color, $size, $shape, $wddx_size\n";

?>

上面的范例将会产生出 :

blue, large, sphere, medium

$size并没有覆盖过去,因为我们指定了EXTR_PREFIX_SAME,而$wddx_size中的结果已被建立,若是使用EXTR_SKIP,则$wddx_size不会被建立,若是使用EXTR_OVERWRITE则 $size的值就是medium,若是使用EXTR_PREFIX_ALL则将会有名称为$wddx_color$wddx_size和$wddx_shape新变量存在


上一页 首页 下一页