compact
(PHP 4, PHP 5, PHP 7, PHP 8)
compact — 建立一個陣列,包括變數名和它們的值
說明
compact(array|string
$var_name
, array|string ...$var_names
): array建立一個包含變數與其值的陣列。
對每個參數,compact() 在目前的符號表中查詢該變數名並將它新增到輸出的陣列中,變數名成為鍵名而變數的內容成為該鍵的值。簡單說,它做的事和 extract() 正好相反。返回將所有變數新增進去後的陣列。
注意:
在 PHP 7.3 之前版本,未設定的字串會被靜默忽略。
參數
-
var_name
-
var_names
-
compact() 接受可變的參數數目。每個參數可以是一個包括變數名的字串或者是一個包含變數名的陣列,該陣列中還可以包含其它單元內容為變數名的陣列, compact() 可以遞迴處理。
返回值
返回輸出的陣列,包含了新增的所有變數。
錯誤/異常
如果字串指向的變數未定義,compact() 會產生 E_NOTICE 級錯誤。
更新日誌
版本 | 說明 |
---|---|
7.3.0 | 現在,如果字串指向的變數未定義,compact() 會產生 E_NOTICE 級錯誤。 在此之前,此類問題會靜默忽略掉。 |
範例
示例 #1 compact() 例子
<?php
$city = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";
$location_vars = array("city", "state");
$result = compact("event", $location_vars);
print_r($result);
?>
以上例程會輸出:
Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA )