(PHP 4, PHP 5, PHP 7, PHP 8)
compact — 建立一个数组,包括变量名和它们的值
创建一个包含变量与其值的数组。
对每个参数,compact() 在当前的符号表中查找该变量名并将它添加到输出的数组中, 变量名成为键名而变量的内容成为该键的值。简单说,它做的事和 extract() 正好相反。返回将所有变量添加进去后的数组。
注意:
在 PHP 7.3 之前版本,未设置的字符串会被静默忽略。
var_name
var_names
compact() 接受可变的参数数量。每个参数不是包含变量名的字符串,就是变量名组成的数组。数组中可以包含由其他变量名组成的数组,compact() 会递归处理。
返回输出的数组,包含了添加的所有变量。
如果字符串指向的变量未定义,compact() 会产生 E_WARNING
级别的错误。
版本 | 说明 |
---|---|
8.0.0 |
如果指定字符串引用了未设置的变量,现在会发出 E_WARNING 级别的错误。
|
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 )