compact
建立一个数组,包括变量名和它们的值
&reftitle.description;
arraycompact
arraystringvar_name
arraystringvar_names
创建一个包含变量与其值的数组。
对每个参数,compact
在当前的符号表中查找该变量名并将它添加到输出的数组中,
变量名成为键名而变量的内容成为该键的值。简单说,它做的事和
extract 正好相反。返回将所有变量添加进去后的数组。
在 PHP 7.3 之前版本,未设置的字符串会被静默忽略。
&reftitle.parameters;
var_name
var_names
compact 接受可变的参数数量。每个参数不是包含变量名的字符串,就是变量名组成的数组。数组中可以包含由其他变量名组成的数组,compact 会递归处理。
&reftitle.returnvalues;
返回输出的数组,包含了添加的所有变量。
&reftitle.errors;
如果字符串指向的变量未定义,compact 会产生 E_WARNING 级别的错误。
&reftitle.changelog;
&Version;
&Description;
8.0.0
如果指定字符串引用了未设置的变量,现在会发出 E_WARNING 级别的错误。
7.3.0
现在,如果字符串指向的变量未定义,compact 会产生 E_NOTICE
级错误。在此之前,这样的字符串会默默地跳过。
&reftitle.examples;
compact 示例
]]>
&example.outputs;
SIGGRAPH
[city] => San Francisco
[state] => CA
)
]]>
&reftitle.notes;
Gotcha
因为可变变量也许不能在函数内部用于
PHP 的超全局数组,此时不能将超全局数组传递入
compact 中。
&reftitle.seealso;
extract