慢慢走,认真看;答案常在行走之间。
PHP 运算符:逻辑优先级、?? 与 ?: 的区别 PHP 运算符:逻辑优先级、?? 与 ?: 的区别
权限判断、配置读取和表单默认值里,常会混用几个很短的运算符。代码能够运行,不代表组合后的含义就是原先想的那样。这篇记录逻辑优先级,以及“没有值”和“值被判断为假”之间的区别。 一、&& 的优先级高于 ||$a = true
2026-10-22
PHP 变量与类型转换:中文变量、字符串与小数末尾的零 PHP 变量与类型转换:中文变量、字符串与小数末尾的零
写 PHP 时,一些很短的语句也值得留一份说明:变量能不能用中文,三种转字符串的方式有什么区别,以及怎样去掉小数末尾的零。它们都能快速写出来,但处理的数据不同,边界也不同。 一、PHP 可以使用中文变量名吗?可以。例如将文件保存为 UTF
2026-10-19
PHP 位运算:移位、奇偶判断与权限标记 PHP 位运算:移位、奇偶判断与权限标记
位运算适合处理二进制标记,例如把“读取、编辑、删除”几项权限存放在一个整数里。它也能表达某些乘除关系,但不应该把“更底层”直接理解为“在 PHP 中必然更快”。 本文示例都使用整数;PHP 的某些位运算在两个操作数都是字符串时会按字节处理,
2026-10-19
PHP JSON 处理:格式校验、错误处理与浮点数精度 PHP JSON 处理:格式校验、错误处理与浮点数精度
处理接口请求、读取 JSON 配置时,我们通常既要确认格式正确,也要确认解析出来的数据符合业务要求。另一个常见问题是,原本写着 0.3 的字段,经过 json_encode() 后出现了很长的小数尾巴。 这两个问题分别涉及解析错误判断和浮点
2026-10-19
PHP 浮点数格式化与舍入:sprintf 和 round 的区别 PHP 浮点数格式化与舍入:sprintf 和 round 的区别
接口需要返回金额、报表需要保留两位小数时,我通常先区分两个问题:是在处理一个数值,还是在生成最终给人看的文字?round() 和 sprintf() 看起来都能“保留两位小数”,解决的问题却不一样。 这篇笔记从两段输出不同的代码说起,记录浮
2026-10-19
PHP 内存泄漏全解析:原因、场景与解决方案 PHP 内存泄漏全解析:原因、场景与解决方案
内存泄漏(Memory Leak)是程序开发中常见的隐患,指程序在运行过程中动态分配的内存未被正确释放,导致内存占用持续增加,最终可能引发性能下降、程序崩溃甚至系统资源耗尽。虽然 PHP 作为脚本语言具备自动垃圾回收(Garbage Col
2026-06-02
Laravel的Job使用指南 Laravel的Job使用指南
Laravel的Job中不要有中断程序的代码,supervisord也是在 Laravel 中,有多种方法可以中断程序执行。然而,在队列任务(Jobs)中使用这些方法时需要特别小心,因为它们可能会导致队列任务被多次执行。以下是一些常见的方法
2026-06-01
当心 `strtotime('+n days', 0)` 的陷阱:时间戳计算中的时区与语义之争 当心 `strtotime('+n days', 0)` 的陷阱:时间戳计算中的时区与语义之争
一次看似“语义化”的代码优化,却险些引入生产事故。从 3 * 86400 到 strtotime('+3 days'),这中间究竟藏着哪些不为人知的坑? 一、一个来自代码审核的意外发现某天,你在优化一段判断用户操作是否超
2026-05-07
PHP 解决最短路径问题 PHP 解决最短路径问题
在二维地图上寻找从A点到B点的最短路径是一项常见的任务,通常可以使用图算法来解决。常用的算法包括广度优先搜索(BFS)、Dijkstra算法和A*算法。 使用广度优先搜索(BFS)算法寻找最短路径广度优先搜索是一种简单而有效的算法,对于在无
2024-12-24
PHP 解决旅行商问题 PHP 解决旅行商问题
如果需要在二维地图上找到一条路径,使得从起点到终点经过所有有奖励的点,并且路径最短,可以考虑使用图搜索算法如A*算法或Dijkstra算法的变种。这类问题通常称为“旅行商问题”(TSP, Traveling Salesman Problem
2024-12-24
PHP 中,二维地图坐标的表示方法 PHP 中,二维地图坐标的表示方法
在PHP中,二维地图的坐标可以通过不同的方法来表示,最常见的方式是使用二维数组或对象来存储坐标信息。 使用二维数组表示二维地图的坐标二维数组是一种简单直观的方式来表示地图的坐标,每个元素代表地图上的一个点或单元格。 // 示例:创建一个5x
2024-12-24
PHP SplQueue 类使用指南 PHP SplQueue 类使用指南
什么是 SplQueue?SplQueue 是 PHP 标准库 (SPL) 提供的一个类,用于实现队列这种数据结构。队列遵循先进先出的原则(FIFO:First In, First Out),即先进入队列的元素会先被取出。 为什么使用 Sp
2024-12-23
PHP 泛型:一个深入浅出的解读 PHP 泛型:一个深入浅出的解读
泛型是什么?在编程语言中,泛型(Generics)是一种在编写代码时使用类型参数的特性。它允许你定义类、接口和方法,使其能够在不丧失类型安全的情况下,适用于多种数据类型。简单来说,泛型就是一种参数化类型,使得代码具有更强的灵活性和可复用性。
2024-12-12
1 / 4