如何快速高效的将数组转换成树形结构

任何无限极分类都会涉及到创建一个树状层级数组。从顶级分类递归查找子分类,最终构建一个树状数组。如果分类数据是一个数组配置文件,且子类父类id没有明确的大小关系。那么我们如何高效的从一个二维数组中构建我们所需要的树状结构呢。

13 Nov 2018 Category: php

Design Patten On Php


layout: post title: 设计模式(一),创建模式(如何创建,谁创建,什么时候创建) category: 算法 comments: true description: 设计模式(一),创建模式(如何创建,谁创建,什么时候创建) keywords: 设计模式,工厂模式,单例模式,建造者模式 —

18 Oct 2018 Category:

Yii2和thinkphp5中一个微小的差异造成bug的根源

考虑一个场景,一个函数需对相同表进行多次查询,多次查询中有部分查询条件相同。对于这种情况,Yii2和thinkphp5的实现方式要格外小心。在Yii2中,可以直接使用clone 复用共同的查询条件,但是thinkphp5的话,必须把相同条件再重复写一次。

16 Oct 2018 Category: php

高性能MySQL(第3版)阅读笔记

  • char(5) 和varchar(200) 存储’hello’的空间开销相同,使用短列有什么优势?

15 Oct 2018 Category: sql

sql语句执行顺序(mysql为例)

测试数据表

08 Oct 2018 Category: sql

从Laravel,Yii,Thinkphp中学习php 操作数据库的事务嵌套

最近维护历史代码,使用的是phalapi 最初版本开发,数据库操作使用的是notorm。notorm本身不支持事务嵌套,但是在开发过程中,多个操作进行拆分,根据不同业务不同进行调用,必然会设计到多个事务嵌套在一起的问题。举个栗子:

02 Sep 2018 Category: PHP

Laravel5.6 文件上传以及文件管理后台

今天聊聊在Laravel5.6 如何实现文件上传功能,以及上传文件的管理功能。主要有文件列表,上传新文件,创建文件夹,删除文件夹以及删除文件。

20 Aug 2018 Category: PHP

Laravel5.6 博客搭建系列四--文章标签后台管理

创建标签模型和迁移

首先需要创建 Tag 模型类:php artisan make:model --migration Tag该命令会在 app 目录下创建模型文件 Tag.php,由于我们在 make:model 命令中使用了 –migration 选项,所以同时会创建 Tag 模型对应的数据表迁移。在标签(Tag)和文章(Post)之间存在多对多的关联关系,因此还要按照下面的命令创建存放文章和标签对应关系的数据表迁移:php artisan make:migration --create=post_tag_pivot create_post_tag_pivot

09 Aug 2018 Category: PHP