php教程技术文章
-
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教程 | 2星期前 | JSON · 异常处理 · PHP · 接口调试 · php json_decode JSON_THROW_ON_ERROR JsonException JSON错误处理
PHP json_decode 默认失败时返回 null,排查接口数据很容易丢失来源和错误类型。本文用 JSON_THROW_ON_ERROR 捕获 JsonException,并设计安全的错误上下文、错误分类与处理边界。471 收藏 -
PHP array_is_list 只看数组键是否从 0 开始连续递增。本文用多组输入说明空数组、稀疏键、字符串键和旧版本兼容处理。133 收藏 -
对比 PHP BackedEnum::from 与 tryFrom 的返回和失败语义,结合内部状态、HTTP 参数、数据库字段与 strict_types 给出选用方法。335 收藏 -
说明 PHP WeakMap 如何用弱对象键保存派生缓存,避免缓存容器延长对象生命周期,并给出迁移写法、强引用排查和最小验证示例。487 收藏 -
系统迁移 PHP 8.4 隐式可空参数:区分可空与可选,覆盖普通参数、必填参数之前的默认 null、联合与交集类型、继承签名,并给出自动修复和回归清单。481 收藏 -
PHP PDO 批量写入时,预处理语句负责参数绑定,事务负责把一批 execute 组织成可提交或可回滚的整体。本文给出统一 rollback、批次拆分和提交后重试的实现边界。143 收藏 -
文章 · php教程 | 2星期前 | JSON · api设计 · php教程 · php json_encode JsonSerializable JSON_THROW_ON_ERROR jsonSerialize
PHP 对象实现 JsonSerializable 后,可用 jsonSerialize 显式选择、改名和组合 JSON 字段,并排除敏感属性。本文给出嵌套对象、错误处理与兼容策略的完整写法。129 收藏