PHP数组的有序性

phpmianshi3年前 (2018-06-12)php1037
在 PHP7中,我们往数组中插入元素的顺序,就决定了我们数组遍历元素的顺序。可以说,PHP7中的数组是有序的。这个有序就是指元素插入数组时的顺序,与遍历时顺序的一致性。为了实现插入与遍历的顺序一致性,...

php5数组与php7数组区别

phpmianshi3年前 (2018-06-11)php371
php5数组与php7数组区别
PHP5数组结构体typedef struct _hashtable {       uint n...

PHP7的垃圾回收机制

phpmianshi3年前 (2018-06-10)php209
PHP7的垃圾回收机制
垃圾回收机制垃圾回收机制是一种动态存储分配方案。它会自动释放程序不再需要的已分配的内存块。 自动回收内存的过程叫垃圾收集。垃圾回收机制可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务逻...

PHP7内存优化原理(八)

phpmianshi3年前 (2018-06-09)php467
PHP7内存优化原理(八)
这里面其中的一些主要改变是性能提高的关键,主要有以下内容。1.zval使用栈内存在zend引擎和扩展中,经常要创建php变量,其底层就是一个zval指针,之前的php版本都是通过MAKE_STD_ZV...

PHP内核分析之深入理解字符串(七)

phpmianshi3年前 (2018-06-08)php249
一、字符串的结构struct _zend_string {     zend_refcounted_h gc; &nb...

PHP内核分析之常见变量基本结构(六)

phpmianshi3年前 (2018-06-07)php255
一、类型一览zval中的u1.v.type用来存储变量的类型,而zval.value存储的是不同类型对应的值,所以type决定value取值的地方,以下是PHP7所定义的所有类型。#define&nb...

PHP内核分析之变量zval在php5和php7中的区别(五)

phpmianshi3年前 (2018-06-06)php258
一、PHP7中的zval使用栈内存在 PHP7 中 zval 有了新的实现方式。最基础的变化就是 zval 需要的内存不再是单独从堆上分配,不再自己存储引用计数。复杂数据类型(比如字符串、数组和对象)...

PHP内核分析之生命周期五个阶段(四)

phpmianshi3年前 (2018-05-05)php232
一、模块初始化阶段我们先来看一下该阶段的每个函数的作用。1.1、sapi_initialize_request_empty函数// main/SAPI.c SAPI_API vo...

PHP内核分析之生命周期(三)

phpmianshi3年前 (2018-04-22)php1014
一、概览PHP生命周期有五个阶段,分别为模块初始化阶段、请求初始化阶段、执行阶段、请求关闭阶段、模块关闭阶段。只是不同SAPI模式下,请求的情况略有不同,比如FastCGI下只经历了一次模块初始化阶段...

PHP内核分析之源码目录结构 (二)

phpmianshi3年前 (2018-04-05)php852
一、目录概览以php-7.4.1为例,目录多达十多个,下面介绍主要目录。├── build   linux下编译相关的目录├── ext      P...

PHP内核分析之GDB使用(一)

phpmianshi3年前 (2018-04-02)php1810
1.PHP源码下载和安装https://github.com/php/php-src/releases$ ./configure --prefix=/usr/local/php7&...

Windows下nginx+fastcgi+php的并发阻塞问题

phpmianshi4年前 (2017-06-03)php193
同事接到一个需求,需要调用同一个项目的另一个接口,于是CURL调用接口。代码撸完了,本地测试一下 浏览器一直转圈圈直到超时…… 百思不得其解主要是windows+nginx开发环境遇到的问题,本人很少...

php闭包的优缺点

phpmianshi4年前 (2017-06-02)php210
闭包函数:临时创建一个没有名称的函数,经常作为回调函数来用。通俗的说就是:子函数可以使用父函数中的局部变量,这种行为叫做闭包。我的理解是: 闭包就是能够读取其他函数内部变量的函数。匿名函数赋...

PHP红包分配算法

phpmianshi4年前 (2017-06-01)php949
<?php /**  * User: phpmianshi.com   * Date: 2020/3/31 &nbs...

理解PHP中的Generator

phpmianshi4年前 (2017-04-06)php218
PHP中Generator,似乎是在5.5版中引入了。PHP中的协程必须依赖于Generator来实现,所以我觉得有必要先专门写一篇文章介绍Generator。Generator这个单词在这里对应的中...

PHP数组实际占用内存大小的分析

phpmianshi4年前 (2017-04-06)php277
1.数组正常的赋值是不会发生内存改变的,但是当赋值的新数组发生改动的时候,php就会新开辟内存给新的数组,这里会造成无谓的内存消耗。最好是不要直接这样赋值,如果非赋值不可的话,记得加上‘&’符...

结构体对齐

phpmianshi4年前 (2017-04-06)php414
书里给了一段代码,假如有个结构体如下:struct test {    char a;    int b;    long c; ...

PHP对象使用数组形式访问成员变量

phpmianshi5年前 (2016-04-06)php268
PHP中有很多接口类,不过平时都不会怎么用到.一般访问php类的变量都是使用类->变量名进行访问.除了这样还可以实现接口类用数组方式进行访问类["变量名"]需要实现的是Arr...

PHP中max_execution_time设置不生效

phpmianshi6年前 (2015-04-11)php200
问题描述:max_execution_time设置了1秒,但是发现超过3秒的脚本还是跑。于是深入研究下max_execution_time不生效的原因。官网描述:https://www.php.net...

Laravel神奇的服务容器

phpmianshi6年前 (2015-04-10)php476
IoC 容器, laravel 的核心Laravel 的核心就是一个 IoC 容器,根据文档,称其为“服务容器”通过举例来让读者去理解什么是 IoC(控制反转) 和&nb...