php逻辑判断真假,代码编程规范之逻辑判断疑问?

bVvL4l

我想问一下各位大大,像这样的逻辑判断避免不了,可是又好像太繁琐,以代码编程规范为参考,如何优化或者规避这样的现象呢?

回复内容:

bVvL4l

我想问一下各位大大,像这样的逻辑判断避免不了,可是又好像太繁琐,以代码编程规范为参考,如何优化或者规避这样的现象呢?

经验问题。单独来说if(!is_array)这段吧,这可能来自以下需求:

咱们啊有个数,然后想和另一个比较,另一个是什么呢,可以随便输入,但是肯定是大于5,小于7,大约等于8,小于等于10这种,你给做一下吧。

然后你就这么做了,没有错。

因为不懂开发的人会实事求是的描述他的需求,但是我认为开发人员应该有自己的理解,比如我会抽象为:

将数字A与期望的表达式B比对,并得到结果;其中,表达式B包含操作符与操作数两部分。即,表达式B应该符合正则表达式 /^([^\d]+)(\d+)$/;其中$1是操作符,$2是操作数。且,操作符必须是 ,>=之一。

这样,代码将类似

//$a 操作数A, $b, 表达式B,$c, 操作符, $n2 第二个操作数

if (! preg_match('/^\d+$/', $a)) {

die('a无效');

}

if (! preg_match('/^([^\d]+)(\d+)$/', $b, $_match)) {

die("格式错误");

}

$c = $_match[1][0];

$n2 = $_match[1][1];

$useableC = array('', '>=');

if (! in_array($c, $useableC)) {

die('无效的操作符');

}

eval("\$t = $a $c $n2");

if ($t) echo 'Y';

echo echo 'N';

很明显,这样你可以很容易的扩展到更多的操作符,以后想增加==,!=很方便。

以上是伪码,不建议使用正则表达式作为数字有效性验证的最终标准

写作能力很差,不知道你能明白我想表达的意思不,希望有帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值