分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

php中的isset()和empty()

发布时间:2023-09-06 01:24责任编辑:熊小新关键词:暂无标签

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()

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved