簡介
compact—建立一個數組,包括變數名和它們的值
說明
arraycompact(mixed$varname[,mixed$...])
compact()接受可變的參數數目。每個參數可以是一個包括變數名的字元串或者是一個包含變數名的數組,該數組中還可以包含其它單元內容為變數名的數組,compact()可以遞歸處理。
對每個參數,compact()在當前的符號表中查找該變數名並將它添加到輸出的數組中,變數名成為鍵名而變數的內容成為該鍵的值。簡單說,它做的事和extract()正好相反。返回將所有變數添加進去後的數組。
任何沒有變數名與之對應的字元串都被略過。
Note:Gotcha
因為可變變數也許不能在函式內部用於PHP的超全局數組,此時不能將超全局數組傳遞入compact()中。
例子
<?php
$city="SanFrancisco";
$state="CA";
$event="SIGGRAPH";
$location_vars=array("city","state");
$result=compact("event","nothing_here",$location_vars);
?>
經過處理後,$result為:
Array
(
[event]=>SIGGRAPH
[city]=>SanFrancisco
[state]=>CA
)
參見extract()。