dchaofei 发布的文章

博客迁移

https://blog.dcfei.win/

dchaofei 2019 年 02 月 20 日 暂无评论

正确使用 PHP 双问号(??) 操作符,或者 null 合并运算符

由于日常使用中存在大量同时使用三元表达式和 isset() 的情况, 我们添加了 null 合并运算符 (??) 这个语法糖。如果变量存在且值不为 NULL, 它就会返回自身的值,否则返回它的第二个操作数。 <?PHP // Fetches the value of $_GET ['user'] and returns 'nobody' // if it does not exis...

dchaofei 2018 年 11 月 24 日 暂无评论

PHP 与斐波那契数列

三种方式实现斐波那契数列 普通递归实现 function fibonacci_recursive($n) { if ($n <= 1) { return 1; } return fibonacci_recursive($n - 1) + fibonacci_recursive($n - 2); } for ($i = 1; $i <= ...

dchaofei 2018 年 09 月 04 日 暂无评论

修复 Minimal BASH-like line editing is supported……

我系统是 deepin 事情是这样的,原来我是双系统,之后我把 Windows 盘格了,把 /home 挂载上去了,这之前一点问题也没有,有一天,我系统出问题了,我就又重装了一次 deepin , 然后问题就来了,就像下边这个黑乎乎的窗口。 奋战了半夜又加一早上,终于把问题解决了。 首先,我们手动引导进入 deepin 参考 手动引导进入系统 如果按照上边的方法进入系统了,重启之后还能进入...

dchaofei 2018 年 09 月 01 日 暂无评论

记一次 defined 的坑

定义一个常量,输出 define('RECOMMEND_IP', "127.0.0.1"); echo RECOMMEND_IP; // 127.0.0.1 不定义常量,输出当前字符串 echo TEST; // TEST 判断常量是否已定义,必须加引号 // 错误 define('RECOMMEND_IP', '127.0.0.1'); defined(RECOMMEND_IP) or d...

dchaofei 2018 年 08 月 30 日 暂无评论

PHP 实现终端进度条

普通进度条 $count = 100; for ($i = 1; $i <= 100; $i++) { usleep(50000); printf("\r [%-100s] (%2d%%/%2d%%)", str_repeat("=", $i) . ">", ($i / $count) * 100, $count); } 高逼格的进度条 for ($i = 1;...

dchaofei 2018 年 07 月 26 日 暂无评论

PHP fread 函数是否阻塞?

fread() 在一般文件是不阻塞的,但是在管道这些特殊文件下会阻塞。 普通文件 if (PHP_SAPI != 'cli') { exit('请在 cli 下运行'); } $file = __DIR__.DIRECTORY_SEPARATOR.'test.txt'; // 创建一个普通文件 if (!file_exists($file)) { touch($file)...

dchaofei 2018 年 07 月 17 日 暂无评论

MySQL 索引

什么是索引? 我们在查英语词典时,通常会以单词首字母依次查找,最终快速得到我们想要的结果,同理 MySQL 中的索引也是让我快速查询的关键。 在一个百万行的表中,如果没有索引,将会顺序扫描全表,直到查询到所需数据,当建立索引之后,只查询一次即可找到所需数据。 MySQL 索引类型 主键索引 PRIMARY KEY 唯一索引 UNIQUE 普通索引 INDEX 什么时候创建索引? 当字段...

dchaofei 2018 年 07 月 12 日 暂无评论

PHP 比对两个图片是否相等

需求是这样的,朋友公司收到封举报邮件,说是未经同意用了别人的图片,并发来图片样本,朋友老板让他从后台十几万图片中找到图片的位置。 分析:图片也是文件,所以我们只需要遍历所有图片,对比图片的 md5 值是否相等就行了。 code: <?PHP $dir = '/path/images/'; // 本地所有图片的目录路径 $md5 = md5_file('/path/test.pn...

dchaofei 2018 年 07 月 11 日 暂无评论

PHP 垃圾回收机制

PHP 5.3 之前使用 Reference Counting(引用计数) 很好理解,在 PHP 中当一个变量被赋值时会生成一个 zval 变量容器。zval 容器其中有两个字段 refcount 和 is_ref。当 refcount 为 0 时,生成的 zval 容器会被释放,完成了垃圾回收。 zval 是 PHP 存放变量的容器。more refcount 是计数器,每当有变量引用同...

dchaofei 2018 年 07 月 10 日 暂无评论