所有技术都是遵循最基本的原理

 最基本的原理,是一切的技术的基础。任何高端的技术的应用,都是遵循最基本的原理。
         遇到任何问题,首先第一个先从原理入手,找程序最基本的逻辑跟原理。很多时候时间都花在了所谓研究‘高大上’的技术上,而忽略原理的基础的东西,导致所谓上层的东西一下子坍塌。
        遇到任何问题,任何坍塌的问题,很有可能不是上层的建筑有问题,很有可能是下层的原理基础出了错误。导致整个代码的坍塌。只是在实际项目中,代码过于复杂跟冗杂,导致疲乏于各种错杂复杂的代码中如同无头苍蝇一样乱撞, 而没有心情去抽丝剥茧找原理性的问题。费了时间,而忽略了最基本的东西。
        之前在改代码中就遇到了一个死活看代码没有发现出来的问题,找了两天也没有发现问题出在哪里。最后发现问题,是一条件在调试过程中,没有屏蔽完全,导致还是走了一段JS验证的代码,但是由于屏蔽的不完全,下面权限不够,导致js验证函数中需要的参数找不到,然后程序整个卡死。
        其实问题的根本还是在于,原理性的东西。页面先加载js,在js出现断点以后,下面的程序代码必然是不能继续走下去的。其次暴漏的问题,是自己调试水平太次,不能及时合理利用debug调试工具,快速准确找到js的错误,定位整个代码的错误原因。
      在参与项目中,多次因为最基本原理的问题,导致困扰自己许久,于是痛定思痛,开始着手重新读php开发手册。
   结论: 最基本的东西,最原理性的东西,是最实用的东西。
        就像看php手册一样,之前看过多少次,都没有发现php手册开篇就讲了strstr()函数, 涉及的两个参数,needle跟haystack。这两个特别形象的参数名称,之前自己从未引起注意。要是之前注意过这个两个参数的名称,或许在那么多次面试中都不会混淆strstr,strops这两个函数跟淡忘这两个函数。needle的中文意思是“针”,haystack是“干草堆”的意思。从一堆干草堆里面找一根针出来。所以这个函数是找匹配指定字符串的。
        strstr是返回字符串,找到匹配字符串后,将匹配之后的所有字符串都返回。strstr,这个对大小写不敏感,敏感的大写小写,是stristr。
        strops是返回的bool类型。在干草堆中找到需要的针,就立即返回True,否则就返回False。 
 所以有此可见,如果只是想知道needle在不在干草堆haystack里面,用strops就行,这个效率跟内存开销明显比strstr好。但是strstr相当于一个更像是一个截取函数,所以在做URL地址截取,或者邮箱判断,需要用到?或者@字符作为判断。这个就可以用strstr函数来。


   此外,手册这里同时讲到的strlen,顾名思义。len肯定是涉及字符串长度的。这三个并在一起,可以联系到好多str相关的函数(其中一个出现在笔试较高的函数,字符串翻转函数strrev),由着这个strlen函数可以对比数组用的count,计算数组里面的元素个数。




  好多好多新东西,再次重新看php开发手册发现好多新的,有趣的东西。跟之前看中枯燥的看php手册完全不同一片天。果然还是孔夫子总结好:温故而知新。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-08-17 18:45  小霸王易水寒  阅读(316)  评论(0编辑  收藏  举报