PHP
老衲灬
知其然知其所以然。
展开
-
PHP获取索引数组的笛卡尔积
需求【商品规格的笛卡尔积同理】:根据几项不同指标项中的不同指标,获取其相互组合的笛卡尔积,返回的是带有原数组索引的笛卡尔积结果,且数组值的数据类型保持不变。整体思路:1、通过第一个数组拼装出结果集的数据结构。2、然后依次处理结果集与其它数组的笛卡尔积。详细代码示例:$params = [ 'gender' => ['男', '女'], 'city' =>...原创 2020-02-22 16:47:15 · 212 阅读 · 0 评论 -
PHP中&&与and、||与or及=的运算符优先级
各种可能的判断情况基本都已分析,详见代示例:// 运算符的优先级:"&&"("||") > "=" > "and"("or")$a1 = true or true and false; // true or和and比=低,第一个true直接赋值$a2 = false or true or true; // false or和and比=低,第一个false直接赋值...原创 2020-02-16 18:23:30 · 2058 阅读 · 1 评论 -
PHP数组直接相加和array_merge的区别
-> 数组相加:类似于补充的效果,如果存在相同的键,那么后边的舍弃,不同则添加。-> 数组array_merge:类似于合并效果,如果存在相同的数值键,后边的会更新下标然后合并到新数组,如果是相同的字符键,后边的值会覆盖前边的值。-> 特别注意:两种方式都只针对键是否相同,和值是否相同没有任何关系!请看程序验证:$arr1 = [ '索1', '索2'...原创 2020-02-27 15:12:46 · 305 阅读 · 0 评论 -
详解正则表达式匹配一个反斜杠"\"的问题
$str = '\/div';$pattern = '/\\\\\/div/';// '\\\\\/' 解析过程如下:// PHP解析:// 第1个'\'转义第2个'\',转义后为字符串'\'// 第3个'\'转义第4个'\',转义后为字符串'\'// 第5个'\'转义'/',转义后为字符串'/'// 字符合起来为'\\/' (则 \\/div 即为正则将要解析的内容,注意:正则解析...原创 2018-11-23 22:55:39 · 13014 阅读 · 1 评论 -
PHP"重载"
1、什么是重载1)PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法,我们是通过魔术方法来实现的。2)当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用。(屏蔽错误)3)所有的重载方法都必须被声明为 public。4)属性重载只能在对象中进行。在静态方式中,这些魔术方法将不会被调用。所以这些方法都不能被 声明为 static。5)这些魔术方法的...原创 2018-07-10 19:12:21 · 651 阅读 · 0 评论 -
PHP静态延迟绑定
1、什么是静态延时绑定1)自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。2)"后期绑定"的意思是说,static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为"静态绑定",因为它可以用于(但不限于)静态方法的调用。3)我们需要一个在调用执行时才确定当前类的一个特征,就是说将static关键字对某个类的绑定...原创 2018-07-10 19:14:17 · 296 阅读 · 0 评论