随笔分类 - php杂记
记录一些常用的技巧吧
摘要:这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。 这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预
阅读全文
摘要:ajax跨域访问是一个老生畅谈的问题啦,网上解决方法很多,discuz用的p3p协议,有兴趣的朋友可以了解下,比较常用的是JSONP方法,貌似目前这种方法只支持GET方式,不如POST方式安全。 即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。还有一种方式:如果跨域使
阅读全文
摘要:之前写过关于生成器的文章,可能还不够详细,正好群里有朋友在讨论。觉得还是有必要再细说下,如果大家做过Python或者其他语言的,对于生成器应该不陌生。生成器是PHP 5.5.才引入的功能,也许大家觉得生成器作用不是很明显。但是,生成器功能的确非常有用。 优点 直接讲概念估计你听完还是一头雾水,所以我
阅读全文
摘要:PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话, 肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍, 但是要是一个完整的 html文本或者是
阅读全文
摘要:这里接着上一篇 php依赖注入,直接贴出完整代码如下: 再来一段简单的代码演示一下,容器代码来自simple di container,完整如下: 这段代码使用了后期静态绑定 依赖注入容器的高级功能 真实的dependency injection container会提供更多的特性,如 自动绑定(A
阅读全文
摘要:之前写过关于php依赖注入的文章。。最近发现有的朋友对这个还是理解模糊,在这里我想写个简单的实例帮助朋友们理解下。。。传统的思路是应用程序用到一个A类,就会创建A类并调用A类的方法,假如这个方法内需要一个B类,就会创建B类并调用B类的方法,而这个方法内需要一个C类,就会创建C类,接着做些其它工作。
阅读全文
摘要:ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑… 其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情.. ob_*系列函数, 是操作PHP本身的输出缓冲区. 所以, ob_flush是刷新PHP自身的缓冲区. 而f
阅读全文
摘要:PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?其实 count 足矣 PHP手册: int count ( mixed $var [, int $mode ] ) -- 计算数组中的单元数目或对象中的属性个数 如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),c
阅读全文
摘要:系统采用Tp3.2的改造....集群为Mysql双工模式:平时M()主要是操作写,MS操作读。。。今天在查询 始终为false.....而通过getLastSql输出的原生sql后:M()->query('sql 语句');返回有记录集。。。猜测是mysql错误,于是: CURD操作如果返回值为fa
阅读全文
摘要:从事金融行业,资金运算频繁,这里说下我遇到的坑....稍不留神,用户资金可能损失几十万,甚至更可怕......直接上实例吧: javascript 0.1 + 0.2 为啥不等于 0.3 ? (正确结果:0.30000000000000004) 0.8 * 7 为啥不等于 5.6 ? (正确结果:5
阅读全文
摘要:stdClass 是 PHP 的一个基类,几乎所有的类都继承了这个类,所以任何时候都可以被 new,让这个变量成为一个 Object。同时,实例化之后的 stdClass 是没有任何属性和方法的,也就是一个空对象。
阅读全文
摘要:今天特意再看了下官网的介绍,对它的多个数组的排序还是每台理解,找了些资料深入理解了下,在此总结下。 PHP中array_multisort函数对多个数组或多维数组进行排序,关联(string)键名保持不变,但数字键名会被重新索引。 输入数组被当成一个表的列并以行来排序——这类似于 SQL 的 ORD
阅读全文
摘要:1 生成器 yield关键字yield的中文文档在这里:http://php.net/manual/zh/language.generators.overview.php查看文档,能知道yield的一个功能就是能有效的降低迭代的内存开销。比如官网的这个xrange例子: 这里的xrange是一个迭代
阅读全文
摘要:在使用 PHP 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求1:使用curl 比如我们有下面这两张图片: 第一步,我们可以直接来使用最简单的代码实现: 那么在下载远程图片的时候就可以这样: 1:封装成一个类缕清思路之后,我们可以将这个基本的功能封装到一个类中:
阅读全文
摘要:_path = $path; $this->_allowType = array( // images 'bmp' => 'image/x-ms-bmp', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', ...
阅读全文
摘要:无限级分类是开发中常见的情况了,在这里我收藏了下并整理了下常见的无限极分类算法总结归纳. 输出: 分析: 这个算法利用了循环迭代,将线性结构按照父子关系以树形结构输出,算法的关键在于使用了引用. 优点:速度快,效率高. 缺点:数组的key值必须与id值相同,不便于取出数据(使用递归获取数据) 我们再
阅读全文
摘要:大学里面的数据结构课程,相信大家在考试中都会遇到这个问题:约瑟夫环 ,而这道题很多有逼格的公司都会用在笔试中.....当然考验的主要是编程思想逻辑.... “约瑟夫环”是一个数学的应用问题:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再
阅读全文
摘要:好记性不如乱笔头吧....下面收藏整理了mysql中show 的使用技巧....有需要的博友可以看看哈
阅读全文
摘要:利用php内置方法mb_substr截取中文不乱码,使用起来非常简单 mb_substr方法比substr多一个参数,用来指定字符串编码。utf-8编码截取示例 中英混合也完全没有问题。 友情提示 使用的时候要注意php文件的编码,和网页显示时的编码。 使用这个mb_substr方法要事先知道字符串
阅读全文
摘要:总体来说,如果数据库过几十万了,才能看出来快一点还是慢一点,如果低于10万的循环,就不用测试了,两者性差异不明显。但是我还是推荐用foreach。循环数字数组时,for需要事先count($arr)计算数组长度,需要引入自增变量$i,每次循环都要进行条件判断$i<$c,然后自增$i++,输出数组元素
阅读全文