compact

(PHP 4, PHP 5)

compact --  建立一個陣列,內含變量名和它們的值

說明

array compact ( mixed varname [, mixed ...] )

compact() 接受可變的參數數目。每個參數可以是一個內含變量名的字串或是是一個包括變量名的陣列,該陣列中還可以包括其它單元內容為變量名的陣列, compact() 可以遞歸處理。

對每個參數,compact() 在現用的的符號表中尋找該變量名並將它新增到輸出的陣列中,變量名成為鍵名而變量的內容成為該鍵的值。簡單說,它做的事和 extract() 正好相反。返回將所有變量增加進去後的陣列。

任何沒有變量名與之對應的字串都被略過。

Gotcha: 因為可變變量也許不能在函數內定用於 PHP 的超全局陣列,此時不能將超全局陣列傳遞入 compact() 中。

例子 1. compact() 例子

<?php
$city  
"San Francisco";
$state "CA";
$event "SIGGRAPH";

$location_vars = array("city""state");

$result compact("event""nothing_here"$location_vars);
?>

經由處理後,$result 為:

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

參見 extract()