下面是 php 变量与数组相互转换的方法(extract与compact)的完整攻略:
extract 函数
extract
函数可以将一个关联数组解包为一系列同名变量,其语法为:
extract($array, $flags = EXTR_OVERWRITE, $prefix = null);
$array
:要解包的关联数组。$flags
:可选参数,控制变量提取的行为,可以为以下值之一:EXTR_OVERWRITE
:默认值,如果同名变量已经存在,就覆盖掉原来的变量。EXTR_SKIP
:如果同名变量已经存在,就保留原来的变量。EXTR_PREFIX_SAME
:如果同名变量已经存在,就加上指定的前缀,保留原来的变量。EXTR_PREFIX_ALL
:为所有变量加上指定的前缀。EXTR_PREFIX_INVALID
:为无效的变量名加上指定的前缀。EXTR_IF_EXISTS
:只有在变量已经存在时,才进行提取。EXTR_REFS
:将提取的变量的值设为原数组元素的引用。$prefix
:可选参数,指定变量名的前缀。
示例1:
<?php
$array = array('name' => 'Jim', 'age' => 32, 'gender' => 'male');
extract($array);
echo $name; // Jim
echo $age; // 32
echo $gender; // male
?>
示例2:
<?php
$array = array('name' => 'Jim', 'age' => 32, 'gender' => 'male');
extract($array, EXTR_PREFIX_ALL, 'person');
echo $person_name; // Jim
echo $person_age; // 32
echo $person_gender; // male
?>
compact 函数
compact
函数可以将变量打包成一个关联数组,其语法为:
compact($var1, $var2, ...);
$var1
,$var2
:要打包的变量名。
示例1:
<?php
$name = 'Jim';
$age = 32;
$gender = 'male';
$array = compact('name', 'age', 'gender');
print_r($array);
// 输出结果:Array ( [name] => Jim [age] => 32 [gender] => male )
?>
示例2:
<?php
$vars = array('name', 'age', 'gender');
$name = 'Jim';
$age = 32;
$gender = 'male';
$array = compact($vars);
print_r($array);
// 输出结果:Array ( [name] => Jim [age] => 32 [gender] => male )
?>
这就是 php 变量与数组相互转换的方法(extract 与 compact)的完整攻略了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php变量与数组相互转换的方法(extract与compact) - Python技术站