码迷,mamicode.com
首页 > Web开发 > 详细

php中的isset()和empty()

时间:2017-11-12 00:30:44      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:logs   elseif   操作   表单提交   错误   put   isset   rip   方法   

isset()和empty()的功能很类似,只能说是很类似,因为他们还是有不同点的,而他们的不同点还是挺明显的;

官方手册中对这两个的解释分别如下:

bool empty ( mixed $var判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 
bool isset ( mixed $var [, mixed $... ] )  检测变量是否设置,并且不是 NULL。 
 
我经常在判断表单是否提交的时候用到这两个函数,但是有时候也是会搞混的。
比如我进行各种操作之前,得先判断一下是否有表单提交? 是否是用指定的方式(GET或者POST)来提交?提交的动作是什么(删除、显示、插入)? 这时我就得用到empty或者isset,说经常搞混,是因为,我最开始是这样用的,比如下面这段代码:
<form action="" method="post">
    <input type="text" name="test" >
    <input type="submit" name="submit" value="delete">
    <input type="submit" name="submit" value="update">
 </form>
 
 <?php
    if(isset($_POST)){
        echo "收到请求";
    } else{
        echo "未收到请求";
    }
  ?>

  

   其实这是错误的,因为$_POST是一个全局数组,就算$_POST数组为空,那$_POST也是存在的,无论是否有post请求,改代码都会输出“收到请求”。你可能会想到用isset判断submit的name属性是否为空,比如下面的代码:

 <form action="" method="post">
    <input type="text" name="test" >
    <input type="submit" name="submit" value="delete">
    <input type="submit" name="submit" value="update">
 </form>
 
 <?php
    if(isset($_POST[‘submit‘]) && $_POST[‘submit‘]==‘delete‘){
        echo "收到删除请求";
    } elseif(isset($_POST[‘submit‘]) && $_POST[‘submit‘]==‘update‘){
        echo "收到更新请求";
    } else
        echo "未收到请求";
  ?>

 还可以用下面这种方法实现:

<meta charset=‘utf-8‘> 
<form action="" method="post">
 	<input type="text" name="test" >
 	<input type="submit" name="submit" value="delete">
 	<input type="submit" name="submit" value="update">
 </form>

 <?php 
 	if( ! empty($_POST)){
 		$action=$_POST[‘submit‘];
 		switch($action){
 			case "delete":echo "delete"; break;
 			case "update":echo "update";break;
 			default:echo "非法提交";
 		}
 	} else {
 		echo "未收到请求";
 	}
 ?>

  

  

php中的isset()和empty()

标签:logs   elseif   操作   表单提交   错误   put   isset   rip   方法   

原文地址:http://www.cnblogs.com/-beyond/p/7820378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!