compact()参数有两种
- 变量名的字符串形式
- 数组的变量名
变量名的字符串
$city = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";
$location=["city",'state'];
$result=compact('city','state','event','location');
print_r($result)
;
结果
[
"city" => "San Francisco",
"state" => "CA",
"event" => "SIGGRAPH",
"location" => [
"city",
"state",
],
]
理解:把变量名的字符串形式传入compact函数,最终结果会输出一个数组,键名为变量名的字符串形式,键值为变量名对应的值
数组的变量名
$city="San Francisco";
$state="CA";
$event = "SIGGRAPH";
$location=["city",'state'];
$result=compact('event',$location);
print_r($result);
结果
[
"event" => "SIGGRAPH",
"city" => "San Francisco",
"state" => "CA",
]
理解:直接把数组的变量名传入compact函数,相当于递归,即compact($location)相当于compact(‘city’,’state’)