PHP 实现 后缀表达式
最近接触了一个有趣的需求:给定变量a、b、c、d等若干,要求由用户输入的普通四则运算字符串(包含加减乘除括号),算出具体的值。
例如,a=1,b=2,c=3,d=4,给出 a+b/(d-c),应计算出结果为3,若为 a*b/(c-1) 则应计算出结果为1
这种情况下,第一反应可能是用数字值将字符串里的变量替换,然后通过eval()执行。或者是将字符串中的每一项通过正则一个一个扣出来再进行计算。
但这样的逻辑太粗暴,代码也太丑陋,其实大可不必如此。 此时,让我们将目光移向美丽的数据结构与算法。
Linux sort命令初探
我们在开发、维护的过程中,有时会需要将log、数据等做过滤和筛选
例如,我们有这样一个文件 daily_pv.txt ,它可能有10W行,其部分内容如下:
20170702 a 52331
20170703 a 63210
20170701 b 234213
20170703 b 341000
20170701 a 52103
20170702 b 233333
三列数据 分别对应了日期、地区标识、PV。此时我们可能需要将其按照时间排序,或是按照PV排序,方便我们进行分析。
很多时候我们的第一反应是写一小段代码,将文件读取到内存中,做排序然后再输出。这个方法是很好,但是比较费时,而我们使用一条shell命令就可以搞定。

