compact函数通过一个或多个变量建立一个数组,改数组包括变量名和它们的值。
该函数的行为与extract()正好相反。
基本语法
array compact ( mixed $varname [, mixed $... ] )
创建一个包含变量与其值的数组。
对每个参数, compact() 在当前的符号表中查找该变量名并将它添加到输出的数组中,变量名成为键名而变量的内容成为该键的值。简单说,它做的事和 extract() 正好相反。返回将所有变量添加进去后的数组。
任何没有变量名与之对应的字符串都被略过。
参数介绍:
| 参数 | 描述 |
|---|---|
| varname | 必需。可以是带有变量名的字符串,或者是变量数组。 |
| ... | 可选。可以是带有变量名的字符串,或者是变量数组。允许多个参数。 |
compact() 接受可变的参数数目。每个参数可以是一个包括变量名的字符串或者是一个包含变量名的数组,该数组中还可以包含其它单元内容为变量名的数组, compact() 可以递归处理。
返回值
返回带有所有变量名和它们的值的数组。
注意:
- 任何没有变量名与之对应的字符串都被略过。
- 如果参数中存在数组,该数组中变量的值也会被获取。
- 因为可变变量也许不能在函数内部用于 PHP 的超全局数组,此时不能将超全局数组传递入 compact() 中。
实例:
<?php
$city = \"San Francisco\";
$state = \"CA\";
$event = \"SIGGRAPH\";
$location_vars = array(
\"city\",
\"state\"
);
$result = compact(\"event\", \"nothing_here\", \"location_vars\");
print_r($result);
echo \"<br/><br/>\";
$result = compact(\"event\", \"nothing_here\", $location_vars);
print_r($result);
?>
运行结果:
Array ( [event] => SIGGRAPH [location_vars] => Array ( [0] => city [1] => state ) )
Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA )
继续阅读与本文标签相同的文章
-
中国第4大运营商来袭,携号转网套路多,移不动联不通信不过拜拜
2026-05-14栏目: 教程
-
美国让华为更强大,9个月入账6千亿增速超2成,5G合同已签60多份
2026-05-14栏目: 教程
-
未来几年,这4个大学专业最吃香,前景广阔堪称铁饭碗!
2026-05-14栏目: 教程
-
这间屋子没有电话
2026-05-14栏目: 教程
-
曾经扬言“我要摧毁人类”的机器人,在拥有公民身份后,近况如何?
2026-05-14栏目: 教程
