函数名称: extract()
适用版本: 所有版本的 PHP
函数用法: extract() 函数可以将关联数组中的键值对,转化为变量和变量值。数组的键名将成为变量名,数组的键值将成为变量的值。这意味着,可以通过变量名直接访问原始数组中的值。
函数示例:
<?php
$details = array(
'name' => 'John',
'age' => 25,
'country' => 'US'
);
extract($details);
echo $name; // 输出:John
echo $age; // 输出:25
echo $country; // 输出:US
?>
在这个示例中,extract() 函数将 $details
数组转化为变量和变量值,并且可以直接使用这些变量来访问数组元素的值。
此外,extract() 函数还有一个可选的参数,用于指定变量的作用域。默认情况下,提取后的变量将在当前的符号表中生效。
<?php
$details = array(
'name' => 'John',
'age' => 25,
'country' => 'US'
);
function getDetails() {
$details = array(
'name' => 'Jane',
'age' => 30,
'country' => 'UK'
);
extract($details, EXTR_PREFIX_ALL, "user");
echo $user_name; // 输出:Jane
echo $user_age; // 输出:30
echo $user_country; // 输出:UK
}
getDetails();
echo $name; // 输出:John
echo $age; // 输出:25
echo $country; // 输出:US
?>
在这个示例中,使用 EXTR_PREFIX_ALL
参数将提取后的变量名加上前缀 "user_",以避免变量名冲突。extract()
函数在函数内部执行后,不会影响函数外部的同名变量。