extract函数在表单提交中提供的方便之处

Posted ZhiRuSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了extract函数在表单提交中提供的方便之处相关的知识,希望对你有一定的参考价值。

extract — 从数组中将变量导入到当前的符号表

在form.html中,

<!DOCTYPE html>

<html>

<head>

<title>extract</title>

<meta charset="utf-8">

</head>

<body>

  <div>

       <form action="action.php" method="post">

            <input type="text" name="username">

             <input type="password" name="password">

             <input type="submit">

       </form>

   </div>

</body>

在action.php中:

<?php

extract($_post);

//使用extract()函数将$_POST全局数据解开:

//extract($_POST);  ---相当于$username = $_POST[‘username‘];   ---$password = $_POST[‘password‘];

?>

详细解释示例:

<?php
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>
结果:$a = Cat; $b = Dog; $c = Horse

此外:
extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。
  • EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。
  • EXTR_SKIP - 如果有冲突,不覆盖已有的变量。
  • EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix
  • EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix
  • EXTR_PREFIX_INVALID - 仅在不合法或数字变量名前加上前缀 prefix
  • EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。
  • EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。
  • EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用了数组参数的值



 

以上是关于extract函数在表单提交中提供的方便之处的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用了form表单之后页面会跳转,并且页面一片空白

HTML中ajax表单提交CSRF保护

检测表单是否合法,为什么不能用n++的探讨

使用htmlentities( )函数抵御跨站点脚本(XSS)攻击

HTML 表单提交 的简单代码

jquery插件-表单提交插件-jQuery.Form