php教程技术文章
-
PHP 8.4 的 mb_trim 可以按多字节字符安全地裁剪字符串两端。本文从全角空格未被 trim 删除的现象出发,讲清 characters 是逐字符集合而不是正则或范围表达式,并给出 UTF-8、自定义标记和兼容性处理示例。388 收藏 -
PHP 8.4 的 array_find 只返回命中的值,想同时取得键和值时,应先用 array_find_key 得到键,再回查原数组;这种写法还能区分未命中与命中 null。110 收藏 -
PHP 8.3 的 json_validate 只返回 JSON 语法是否有效,不构造数组或对象。本文按只校验、需要解码、参数边界和旧版本兼容四种场景说明正确用法。425 收藏 -
本文梳理 PHP parse_url 解析相对地址时的可选字段、缺失键、null 与空字符串差异,并给出安全读取和入口分流写法。348 收藏 -
文章 · php教程 | 3天前 | 后端开发 · php教程 · php filter_var FILTER_VALIDATE_BOOLEAN FILTER_NULL_ON_FAILURE 布尔验证
PHP filter_var 使用 FILTER_VALIDATE_BOOLEAN 时,合法 false 与验证失败默认都可能返回 false。本文用 FILTER_NULL_ON_FAILURE 建立 true、false、null 三态结果,配合严格比较、字段存在性检查和测试矩阵,避免布尔输入被误判。428 收藏 -
PHP 8.2 起可用 ini_parse_quantity() 把 128M、512K、1G 转为字节整数。本文说明单位、进制、警告处理与 memory_limit=-1 的边界。338 收藏 -
PHP 8.2 的 Randomizer::pickArrayKeys 可以从关联数组中均匀抽取指定数量且互不重复的键名。本文说明参数边界、ValueError 处理和键名映射回业务值的写法。397 收藏 -
PHP match 使用 === 判断分支,类型和值必须同时一致。本文通过对照 switch、请求参数规范化、default 与 match(true) 说明严格比较如何减少意外命中。414 收藏 -
PHP SplPriorityQueue 不保证相同优先级元素的出队顺序。本文用业务优先级和递增序号构造复合优先级,重写 compare() 实现同级 FIFO,并说明提取标志、类型和替代方案。441 收藏 -
session.lazy_write 会比较会话打开时与关闭时的序列化数据;内容未变时,默认 files 保存器只更新时间戳而不重写整段会话数据。本文解释数据生命周期、失效场景与自定义保存器要求。139 收藏 -
Closure::bindTo 的 newThis 控制闭包里的 $this,newScope 控制 private 与 protected 成员可见性。本文用一个小型状态读取器演示切换对象、保持类作用域、解除绑定和 PHP 8.5 兼容边界。413 收藏 -
PHP filter_var 使用 FILTER_CALLBACK 时,额外规则应通过闭包捕获、工厂函数或可调用对象封装,再放入 options 字段;不要把多个业务参数直接拼进 callback 数组。202 收藏 -
PDO::rollBack() 并不保证能撤销事务里的 DDL。以 PDO_MYSQL 和 MySQL 为例,CREATE TABLE、ALTER TABLE 等 DDL 可能先隐式提交当前事务,正确做法是把结构迁移与业务数据事务分开。185 收藏 -
PDO::FETCH_KEY_PAIR 能把严格两列的查询结果直接变成键值数组:第一列作为键,第二列作为值。本文给出最小写法、预处理示例、与 array_column 和 FETCH_UNIQUE 的区别,以及重复键和一对多关系的处理边界。346 收藏 -
文章 · php教程 | 4天前 | JSON · 异常处理 · PHP · 接口调试 · php json_decode JSON_THROW_ON_ERROR JsonException JSON错误处理
PHP json_decode 默认失败时返回 null,排查接口数据很容易丢失来源和错误类型。本文用 JSON_THROW_ON_ERROR 捕获 JsonException,并设计安全的错误上下文、错误分类与处理边界。471 收藏