(PHP 4, PHP 5, PHP 7, PHP 8)
compact — 建立一個(gè)數組,包括變量名和它們的值
$var_name
, array|string ...$var_names
): array創(chuàng )建一個(gè)包含變量與其值的數組。
對每個(gè)參數,compact() 在當前的符號表中查找該變量名并將它添加到輸出的數組中,變量名成為鍵名而變量的內容成為該鍵的值。簡(jiǎn)單說(shuō),它做的事和 extract() 正好相反。返回將所有變量添加進(jìn)去后的數組。
注意:
在 PHP 7.3 之前版本,未設置的字符串會(huì )被靜默忽略。
var_name
var_names
compact() 接受可變的參數數目。每個(gè)參數可以是一個(gè)包括變量名的字符串或者是一個(gè)包含變量名的數組,該數組中還可以包含其它單元內容為變量名的數組, compact() 可以遞歸處理。
返回輸出的數組,包含了添加的所有變量。
如果字符串指向的變量未定義,compact() 會(huì )產(chǎn)生 E_NOTICE 級錯誤。
版本 | 說(shuō)明 |
---|---|
7.3.0 | 現在,如果字符串指向的變量未定義,compact() 會(huì )產(chǎn)生 E_NOTICE 級錯誤。 在此之前,此類(lèi)問(wèn)題會(huì )靜默忽略掉。 |
示例 #1 compact() 例子
<?php
$city = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";
$location_vars = array("city", "state");
$result = compact("event", $location_vars);
print_r($result);
?>
以上例程會(huì )輸出:
Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA )