PHP EXTRACT函数将字段变成变量的例子

作者:袖梨 2022-06-24

PHP extract函数的作用是:函数从数组中把变量导入到当前的符号表中。对于数组中的每个元素,键名用于变量名,键值用于变量值。用extract函数一个技巧是可以把字段变成变量,方便调用。


$info = $this->db->get_one(array('id'=>$specialid, 'disabled'=>0)); 

//将当前专题id所对应的字段作为变量导入到当前的符号表 

extract($info);

本例$info是从数据库查出的结果,以数组的形式作为变量,键名是字段名,值是字段值,使用extract函数就把键名作为变量名,字段值作为变量值了。

比如array(‘name’=>’zhangsan’,’sex’=>’man’,’id’=>3232);

那么extract($array)后,就可以直接使用$name,$sex,$id了。

再看

$size = "old size"; //注意最后size变量的值。
$a = array(
"color" => "red",
"size" => "XXL",
"price" => "53");
extract($a);
echo "color = $color
";
echo "size = $size
";
echo "price = $price
";
?>


结果为:

color = red
size = XXL
price = 53

通过上例发现$size的值为XXL,而不是之前的”old size”,说明默认情况下当数组中的key与已有的变量冲突时,将覆盖原来的变量。


例子

form.html




在action.php中只要使用extract()函数将$_POST全局数据解开:
action.php

extract($_POST);
//相当于$username = $_POST['username'];
//$password = $_POST['password'];
?>

是不是很方便呢?

extract的作用分析

addslashes -- 使用反斜线引用字符串     

extract(addslashes($_POST)); --处理POST表单
    
把客户端表单中的变量名取出来。     

extract(addslashes($_GET)); --处理GET表单     


把客户端表单中的变量名取出来。  

相关文章

精彩推荐