Loading

邢栋博客

php的几个人坑人小题

<?php //----example 1 $a = 3; $b =5; if($a = 5 || $b = 7){ ++$a; $b++; } echo $a,'--'.$b,"<br>"; //输出结果 为 1--6 //说明 // $a = 5 || $b =7 ,执行逻辑为 $a = (5||$b=7),$a = true,布尔型值++ 一直为1 //----example 2 $count = 5; f...

PHP trait 学习笔记

自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。 Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。 Trait 和 Class 相似,但仅仅旨在用细粒度和一致的方式来组合功能。 无法通过 trait 自身来实例化。它为传统继承增加了水平特性的组合;也就是说,应用的几个 Class 之间不需要...

php 用 ... 定义变长参数函数

// 1. $email = []; $email[] = 'hello world !'; $email[] = 'what are you doing?'; //mail('my@126.com',...$email); //2 function addAll(...$num){ return array_sum($num); } echo addAll(1,2,3,4,5,6,7,8,9);

php 的 yield 简单使用

// 文件的读取(一) function getLines($filename){ $f = fopen($filename,'rb'); try{ while ($line = fgets($f)) { yield $line; } }finally{ fclose($f); } } $lines = getLines('my.log'); for...

php安装vld扩展查看编译opcode

php安装vld扩展查看编译opcode wget http://pecl.php.net/get/vld-0.14.0.tgz tar -zxvf vld-0.14.0.tgz /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --enable-vld make && make install vim /usr/local/php/etc/php.ini ,在文件最后面加入 extension=vld.so serv...

php正则相关知识点笔记

正则 环视(零宽断言) 环视不匹配任何字符,只匹配文本中的特定位置。类似于\b,^,$那样。环视不会占用字符。 环视分为顺序和逆序两种。 顺序 (?=exp)位置的后面能匹配exp。例如(?=\d)当前位置右边是数字 (?!exp)位置的后面不能匹配exp。例如(?!\d)当前位置右边不是数字 逆序 (?<=exp)位置的前面能匹配exp。例如(?<=\d)当前位置左边是数字 (?<!exp)位置的前面不能匹配exp。例如(?<!\d)当前位置左边不是数字 (?=jeffrey)jeff 等价于 jeff(?rey) 例子 &...

linux下安装node+npm+vue

cd /opt wget https://npm.taobao.org/mirrors/node/latest-v10.x/node-v10.2.1-linux-x64.tar.gz tar -zxvf node-v10.2.1-linux-x64.tar.gz vim /etc/profile 加入 export PATH=$PATH:/opt/node-v10.2.1-linux-x64/bin 然后 source /etc/profile 换用淘宝npm源 npm install -g cnpm --registry=https://registr...

php7下安装event扩展

1.先安装libevent wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz tar -zxvf libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable ./configure --prefix=/usr/local/libevent-2.1.8 make make install 2.再安装event扩展 wget http://p...

php7内核读书笔记-第五章 php的编译与执行

php7内核读书笔记-第五章 php的编译与执行 opline指令-操作数类型 IS_CONST 常量,也称作字面量,比如$a=123,$a="hello",其中123,hello就是字面量 IS_CV 变量,比如$a=123,$b=3+$c,$a,$b,$c就是CV变量 IS_VAR PHP变量,比如$a=time(),time()的返回值就是IS_VAR类型 IS_TMPVAR 临时变量,或者中间变量 $a="hello".time(), "hello".time()就是临时变量 IS_...

php7内核读书笔记-第四章 内存管理

php7内核读书笔记-第四章 内存管理 引用计数 会使用引用计数机制的类型 type refcounted simple types string Y interned string N(内部字符串,request完成后统一销毁释放 $a="hi") array Y imutable array N(不可变数组) object Y resource Y reference Y 垃圾回收 ps:如果一个变量value的refcount减少到了0,那么此value可以被释放掉,不属于垃圾;如果一个变量value的refcount减少之后...