标签 PHP 下的文章

撸代码这么久,从之前简单的脚本,到单体应用,到最后的微服务,我们的应用总会因为各种奇奇怪怪的原因罢工,有些错误显而易见,而有些错误也会让人一时摸不到头脑。究其原因,还是需要加强自己的修养,多多总结,就能做到防患于未然。

下面老高会总结一些平时遇到的问题,以及对应的解决思路和方法,同事也欢迎大家补充!

阅读剩余部分

学习一门语言,官方文档很重要,网上下载到的都是一些过时的PHP官方中文手册,要么是2015年版,要么挂摇头卖狗肉的写的最新,实际下载下来还是2015。偶然间发现原来PHP.NET官网提供下载,本篇文章里老高就来告诉大家PHP官方中文手册chm下载地址。

阅读剩余部分

正则的效率是在比不上原生的,所以丢个链接(过滤器函数)走人。

二逼正则:

$valid = preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/', $string);

正确正则:

preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', $ipAddress);

过滤器的选项,比如可以过滤私有IP地址等。

用法参考Validating an IP address with PHP's filter_var function

方括号的[]在json中调试是一个数组,而花括号{}在json中表示一个对象,不过二者在PHP中基本上一个empty就可以判断为i空了,但在js里好像就有一些麻烦了,可能需要下面的判断方式。

p = []
if((Array.isArray(p) && p.length === 0)){
    alert('[]');
}

p = {}
if(Object.prototype.isPrototypeOf(p) && Object.keys(p).length === 0){
    alert('{}');
}

WAY1:


$a = json_decode('{}');

echo json_encode($a);

WAY2:


$a = new stdclass;
// $a = new ArrayObject();
echo json_encode($a);

虽然花括号{}和方括号的[]二者在PHP和JSON中都表示不同的东西,但是突然要返回空对象还是冷不丁的想一下,我上哪儿去找一个空对象啊? ?