Unique

年轻付出代码,array_multisort()技能得到

  在工作中,遇到二维数组排序的问题,然后我自己手撸,结果发现怎么调试都出错,更何况效率的问题。最后在别人的帮助下,找到了过往使用的工具方法,因此就去翻看array_multisoort()函数说明,同时发现,公司曾经的封装略显不足,因此我运用之前封装的_array_column函数,成功为二维数组排序,代码如下:

阅读剩余部分......

从一串字符中取出唯一的数值

  上周在实习中,我得到了一个任务,而这个任务需要解析数据同时文件中的只存在时间,而无日期,日期则被保存在文件名中,例如:server20141210,于是我想到了intval(),但是经过实验发现,输出0。

  这让人很纳闷,intval()函数不是从字符串中取出数值吗?于是翻看PHP官方文档,在Return Values中看到:Strings will most likely return 0 although this depends on the leftmost characters of the string,这告诉字符串中必须左边第一个字符为数值才能被转换为整型数,因此达不到我需要的目的。

阅读剩余部分......

PHP真正多线程的使用【转】

  转自:http://zyan.cc/pthreads/
  PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。

  我之前的文章中说过,大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 MySQL 数据库,一条联合查询的SQL,也许就可以处理完业务逻辑,但是,遇到大量并发请求,就歇菜了。如果用 NoSQL 数据库,也许需要十次查询,才能处理完同样地业务逻辑,但每次查询都比 MySQL 要快,十次循环NoSQL查询也许比一次MySQL联合查询更快,应对几万次/秒的查询完全没问题。如果加上PHP多线程,通过十个线程同时查询NoSQL,返回结果汇总输出,速度就要更快了。我们实际的APP产品中,调用一个通过用户喜好实时推荐商品的PHP接口,PHP需要对BigSea NoSQL数据库发起500~1000次查询,来实时算出用户的个性喜好商品数据,PHP多线程的作用非常明显。


阅读剩余部分......