PHP 数组相加问题

PHP 数组相加问题
一直以为两个数组相加,第二个数组会覆盖第一个数组相同键的值,今天碰到了个这个问题记录下 数组相加时,第一个已出现的键值不会受到后面相加的数组影响 另外关于array_merge: 当下标为数值时,array_merge()不会覆盖掉原来的值,当下标为字符时,array_merge()此时会覆盖掉前面相同键名的值

阅读全文>>

阅读全文...

PHP利用parse_str创建任意多维数组

PHP利用parse_str创建任意多维数组
回想到从前的一道面试题,"使用字符串 arr[0][1][2][3] 将之转换成PHP数组",今天无意间想到 parse_str 可以用作多维数组的反解析,例如想要创造一个多维数组 arr[0][1][2][3]... 维数不定 通过parse_str,我们再配合使用字符串拼接的方式就能轻松组合任意维度的数组 <?php $floor = '[0][1][2]["sub"][...

阅读全文>>

阅读全文...

记gbk、utf-8占用字节数

记gbk、utf-8占用字节数
计一次面试碰到的基础问题,这类问题还真没有个清晰记忆,汗颜-_-|| GBK: 中文、英文、数字均使用双字节来表示 UTF-8: 汉字占3个字节、数字占1个字节、英文字母占1个字节

阅读全文>>

阅读全文...

Laravel生成数据表字典文档

Laravel生成数据表字典文档
在写文档的时候需要用到数据表字典数据,一个个建立文档比较麻烦,偷个懒写了个脚本,我这里文档使用的是ShowDoc,因为他连得是SQLite数据库,所以使用时注意添加对应的数据库配置。 Route::get('/resolveSql', function () { $res = DB::select('show tables'); // echo '<pre>'; ...

阅读全文>>

阅读全文...

PHP 程序员的技术成长规划

PHP 程序员的技术成长规划
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。 本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不是基础非常扎实的情况进行的设定,并且所有设定都非常具体明确清晰,可能会让人觉得不适,请...

阅读全文>>

阅读全文...

php中的后期静态绑定

php中的后期静态绑定
使用的保留关键字: static 定义: static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。 self与static的区别: self调用的就是本身代码片段这个类,而static调用的是从堆内存中提取出来,访问的是当前实例化的那个类(即static作用于当前调用的类) 示例一(在静态环境下) ...

阅读全文>>

阅读全文...

PHP 控制和反转

PHP 控制和反转
PHP 很多地方也用到了依赖注入(控制反转),觉得有必要和大家简单聊一聊什么是依赖注入以及怎么使用它。 IoC - Inversion of Control 控制反转 DI - Dependency Injection 依赖注入 依赖注入和控制反转说的实际上是同一个东西,它们是一种设计模式,这种设计模式用来减少程序间的耦合 优势(为什么使用 PHP 的控制和反转) 使用依赖注入,...

阅读全文>>

阅读全文...

PHP中phar包的使用

PHP中phar包的使用
PHP5.3之后支持了类似Java的jar包,名为phar。用来将多个PHP文件打包为一个文件。 首先需要修改php.ini配置将phar的readonly关闭,默认是不能写phar包的,include是默认开启的。 phar.readonly => On 创建一个phar压缩包 <?php $phar = new Phar('swoole.phar'); $pha...

阅读全文>>

阅读全文...