PHP中参数校验和取值
2016-07-21 11:36
579 查看
本篇文章主要对PHP的参数校验和取值进行系统的阐述。
PHP主要是Web后端开发,接收前端的参数,校验取值,进行处理。如果想对浏览器传过来的参数进行全面的校验,并且取值,首先需要将浏览器传输过来的参数形式进行全面分类:
1、浏览器传输的参数形式:四种
第1种?t=&m=1, 这种情形,参数t的值被设置,但是值为空
第2种情况?t=0&m=1,这种情形,参数t的值是0
第3种情况?t=1&m=1
,这种情况t的值是最正常的值
第4种情况?m=1,没有设置t的值。
经过对这四种情况的测试,大致结果如下:
2、php的校验
具体的校验结果如上图所示。
需要着重强调的一点,参数设置为0的时候,empty()校验true。这一点在实际编码中,很多人会忽略。
3、参数校验和取参数
$companyName = isset($params['company_name'])
&& ($params['company_name'] !=='')
?$params['company_name'] :null;
使用isset()和“”两个条件综合校验,保证不会遗漏任何一种情形。
总结,web开发中,后端的参数校验是必须的。合理性和全面性的要求也很苛刻,不能遗漏任何一种情形,并且尽量不要重复校验同一种情形。
欢迎大家对存在的问题进行讨论。欢迎批评指正。
PHP主要是Web后端开发,接收前端的参数,校验取值,进行处理。如果想对浏览器传过来的参数进行全面的校验,并且取值,首先需要将浏览器传输过来的参数形式进行全面分类:
1、浏览器传输的参数形式:四种
第1种?t=&m=1, 这种情形,参数t的值被设置,但是值为空
第2种情况?t=0&m=1,这种情形,参数t的值是0
第3种情况?t=1&m=1
,这种情况t的值是最正常的值
第4种情况?m=1,没有设置t的值。
经过对这四种情况的测试,大致结果如下:
2、php的校验
具体的校验结果如上图所示。
需要着重强调的一点,参数设置为0的时候,empty()校验true。这一点在实际编码中,很多人会忽略。
3、参数校验和取参数
$companyName = isset($params['company_name'])
&& ($params['company_name'] !=='')
?$params['company_name'] :null;
使用isset()和“”两个条件综合校验,保证不会遗漏任何一种情形。
总结,web开发中,后端的参数校验是必须的。合理性和全面性的要求也很苛刻,不能遗漏任何一种情形,并且尽量不要重复校验同一种情形。
欢迎大家对存在的问题进行讨论。欢迎批评指正。
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- 数组reduce方法的高级技巧
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站