php compact 通过变量创建数组

时间:2021-08-18 03:39:04

php compact 通过变量创建数组

compact函数通过一个或多个变量建立一个数组,改数组包括变量名和它们的值。

该函数的行为与extract()正好相反。

基本语法

array compact ( mixed $varname [, mixed $... ] )

创建一个包含变量与其值的数组。

对每个参数, compact() 在当前的符号表中查找该变量名并将它添加到输出的数组中,变量名成为键名而变量的内容成为该键的值。简单说,它做的事和 extract() 正好相反。返回将所有变量添加进去后的数组。

任何没有变量名与之对应的字符串都被略过。

参数介绍:

 

参数 描述
varname  必需。可以是带有变量名的字符串,或者是变量数组。
... 可选。可以是带有变量名的字符串,或者是变量数组。允许多个参数。
返回值

 

返回带有所有变量名和它们的值的数组。

注意:

  1. 任何没有变量名与之对应的字符串都被略过。
  2. 如果参数中存在数组,该数组中变量的值也会被获取。
  3. 因为可变变量也许不能在函数内部用于 PHP 的超全局数组,此时不能将超全局数组传递入 compact() 中。

实例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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 )

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!