首页 > 语言 > PHP > 正文

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

2024-09-04 11:49:08
字体:
来源:转载
供稿:网友

EXTRACT函数功能比较强大了可以直接把接受到的字符变成变量了,初次知道此函数是一个同事使用这种方法来接受数据了,下面我们来看关于EXTRACT的用法.

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

  1. $info = $this->db->get_one(array('id'=>$specialid'disabled'=>0));  
  2. //将当前专题id所对应的字段作为变量导入到当前的符号表  
  3. extract($info); 

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

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

那么extract($array)后,就可以直接使用$name,$sex,$id了.再看如下实例:

  1. <?php  
  2. $size = "old size"//注意最后size变量的值。  
  3. $a = array(  //开源软件:Vevb.com 
  4. "color" => "red",  
  5. "size" => "XXL",  
  6. "price" => "53");  
  7. extract($a);  
  8. echo "color = $color<br />";  
  9. echo "size = $size<br />";  
  10. echo "price = $price<br />";  
  11. ?> 
  12.  
  13. 结果为: 
  14. color = red  
  15. size = XXL  
  16. price = 53 

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

例子,form.html:

  1. <form action="action.php" method="post">  
  2. <input type="text" name="username">  
  3. <input type="password" name="password">  
  4. <input type="submit"

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

  1. <?php  
  2. extract($_POST);  
  3. //相当于$username = $_POST['username'];  
  4. //$password = $_POST['password'];  
  5. ?> 

是不是很方便呢?

extract的作用分析

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

extract(addslashes($_POST)); --处理POST表单

把客户端<FORM METHOD="POST"...>表单中的变量名取出来.

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

把客户端<FORM METHOD="GET"...>表单中的变量名取出来.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表