php 判断post编码格式,php如何判断get或post的值是否存在

这篇博客详细讲解了PHP中如何判断GET和POST参数的值是否存在,强调了isset()、empty()和is_array()的区别。通过实例和对比,作者提供了如何选择正确的函数来确保代码的健壮性,同时提到了利用$_SERVER变量检测请求类型的方法和全局函数check_var()的应用。

5268f80b9b1e01f982625ef6fac83ca1.png

php如何判断get或post的值是否存在,这个问题困扰了我很长时间,是用isset还是empty还是is_array啥的,请大神给一个指点

回复内容:

php如何判断get或post的值是否存在,这个问题困扰了我很长时间,是用isset还是empty还是is_array啥的,请大神给一个指点

isset()是判断这个变量是否定义,empty()是在这个变量已经定义的情况下(如果变量没定义,将报错variable is undefinded),判断这个变量是否为null,空字符串,空数组都被empty()视为空,返回true。举个例子,比如传过来一个表单$user('name'=>'tom','nickname'=>''),你想判断$use['nickname']是都已经被用户填写了数据,可以用empty()来判断,比如你的表单里面本来有password字段,但是第三方登录注册的用户暂时没有密码字段,这你就需要判断isset($user['password'])了,isset和empty有本质上的区别,希望我举的例子可以为你的理解提供帮助~

可以利用$_SERVER['REQUEST_METHOD']来判断是什么请求类型

可以看看官方的解释

$_SERVER — 服务器和执行环境信息

bVscg6

来来来,手把手教

$apply_name = isset($_POST['apply_name']) ? $_POST['apply_name'] : '';

或者

$apply_name = isset($_GET['apply_name']) ? $_GET['apply_name'] : '';

如果连get和post都不知道,就

$apply_name = isset($_REQUEST['apply_name']) ? $_REQUEST['apply_name'] : '';

我个人的写法就是[全部检查],这样能避免各种错误的产生。毕竟安全性跟全面性在普通项目里面还是用的比较多的。

//我所有的项目都有包括一个custom_function.php的公共文件。

function check_var( $var, $default = ''){

return( (isset($var) and !empty($var )) ? $var : (!empty($default) ? $default : false) );

}

// 这样我就可以在我任何的文件里面调用全局函数检测变量:

$array =['id'=>123];

var_dump( check_var( $array['id'] ) ); //输出 int(123)

var_dump( check_var( $array['code'] ) ); // 输出 bool(false)

var_dump( check_var( $array['code'], 'not set') ); // 输出 string(7) "not set"

先弄清楚 isset、empty、is_null等这些变量判断函数的作用,再根据你的使用场景去使用对应的函数:

php empty,isset,is_null比较 参考1

php empty,isset,is_null比较 参考2

php empty,isset,is_null比较 参考3

变量判断附录

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值