陣列函式庫

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新變數存在


上一頁 首頁 下一頁