PHP面试题精选

精选一些PHP面试题汇总一下给个参考: 数据库字段int(10)与int(11)的区别 在字段被指定为int时就确定了他是占用4bytes(字节),也就是8bit(位),而int(10)代表的其实是显示宽度,也就是存储的时候如果不足10位会自动补全,比如int(4),输入的是100,那么会被补全为0100。 所以int(M)中的M理解为最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类 […]

把文章内容中img替换为mip-img标签(包括结束标签)

在做百度熊掌号mip页面页面生成的过程中,也许你会遇到比如iframe标签和img等原生的html标签转换成mip标签的需求,类似的iframe倒是比较省事,直接替换开始结束标签就好了,但标准的img标签是没有结束标签的,所以替换的时候稍微复杂一点,下面是如何将img标签替换成mip-img标签的实现,补齐了结束标签。 function replaceMipImages($content) { / […]

windows多个版本php下使用composer

由于打算在新服务器上使用php7.1的来做环境,本地机器上就有包括原来的5.6和7.1共存的情况,在使用composer的时候,因为设置的环境变量,自动会调用原来的php环境,导致需要高版本php的项目出现报错。 问题 那如何才能在多版本的情况下使用composer而互不干扰呢? 解决 先去composer官网下载一个composer.phar文件,放到某个地方,我是放在d:/xampp/php下 […]

ThinkPHP3.2.3静态缓存的使用

静态缓存可以大幅提升网站、接口的访问速度,对提升用户体验非常有帮助,刚好项目上也遇到这样的需求,在ThinkPHP3.2.3中实现前台页面静态缓存。 原理 静态缓存也就是将动态语言查询数据库然后渲染后的页面直接转换成文件(或者json)存储起来,当用户访问的时候,直接呈现给用户即可。 缓存前: 根据用户请求页面解析到对应控制器、方法; 查询数据库取出数据; 数据处理; 将数据渲染到模版输出; 缓存 […]