重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
字段范围是否正确(如购买金额需要0)
创新互联公司专注于建宁企业网站建设,自适应网站建设,商城网站定制开发。建宁网站建设公司,为建宁等地区提供建站服务。全流程按需网站设计,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
字段类型/格式是否正确(如数量传值为“一”,而要求为1)
是否存在恶意字符(如sql注入语句)
必要字段是否有值
其他
楼上几个的回答都值得借鉴。我也写几句哈。
1. 写这段代码的人水平也不高。实际上?php if( isset($latest_list) !empty($latest_list) ):?这句并没有起到什么作用。同时! empty()判定和isset()是重复的,没意义。直接if(! empty($latest_list)就行了。
此外,对于一个foreach循环,它要其$latest_list必须是一个数组,否则会报错,因此在foreach之前,为了保证其有效性应该使用 if(! empty($latest_list) is_array($latest_list))
2. if($key!=0) 某楼解释错误,这句的意思实际上是跳过数组中的第一行。
针对你的问题,一些额外的判断是为了防止代码中意料之外的错误,没有的话并不是不行,但是并不推荐。因为考虑到团队协作等,你无法总是保证传入的参数,或者函数的返回值是可用的,因此需要额外的判断保证这一点。
你的例子中的$lastest_list应该就是数据库返回的数据,谁也不能肯定它是不是返回空数组,甚至是一个false。额外的判断可以让调试人员更容易的知道到底发生了什么事情。
帮助到你的话请采纳哦。
用户名(字符型),
我理解的字符型包括 数字,字母,下划线
//php正则判断比较好
$preg = '/^[0-9a-zA-z_]{0,}$/';
if(!preg_match($preg,'中文')){
echo "输入信息不是数字字母下划线";
}else{
echo "正确";
}
整型方法:
intval();强制转换为整型,然后判断是否为空
//php正则判断
$preg = '/^[0-9]{0,}$/';
if(!preg_match($preg,'中文')){
echo "输入信息不是数字";
}else{
echo "正确";
}
模式匹配符:
\:转义字符 例如:\b转义了b
^:正则表达式开始符号
$:正则表达式结束符号
*:匹配前面的字符出现0次或者n次
+:匹配前面的字符出现1次或者n次
?:匹配前面的字符出现0次或者1次
.:匹配除了换行符以外的所有单个字符
|:或者的意思,例如x|y 匹配x或者y
{n}:匹配前面的n个字符
{n,m}:匹配至少n个最多m个前面字符
[xyz]:匹配中括号里的任意一个字符
[^xyz]:匹配除了中括号里的任意一个字符等价于[0-9]
\w:匹配任意一个数字或字母或下划线等价于[A-Za-z0-9_]
\d:匹配任意一个0--9之间的数字
模式修正符:
i:忽略大小写
数据类型有三种:
1.标量数据类型
标量数据类型包括以下几种。
(1)boolean:布尔型
布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
单引号方式,
双引号方式,
Heredoc方式。
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
3.特殊数据类型
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。