-
用 PHP SplFileObject::fgetcsv 读取 CSV 时,空行可能表现为单个 null 字段,文件结束则应按 false 或迭代状态处理。本文给出显式参数、flags 选择和排查边界。
-
PHP IntlGregorianCalendar 可以用 setGregorianChange 设置公历切换时间,用 getGregorianChange 读取当前时间戳。本文比较三种创建方式,并说明时区、locale、Unix 时间戳和返回值的使用边界。
-
PHP grapheme_extract 可以按 UTF-8 默认字素簇截取文本。本文把旧的字节截取风险、GRAPHEME_EXTR_COUNT、offset 与 next 的用法放在同一条迁移路径中,并给出可回归的边界检查清单。
-
PHP IntlChar::charAge 返回单个 code point 首次被指定或分配的 Unicode 版本。本文区分字符 age 与当前 ICU 版本,演示整数和 UTF-8 参数、四位数组、null 失败边界,以及如何把版本筛选封装成可维护的 PHP 函数。
-
PHP grapheme_stripos 会按字素单位查找第一个大小写不敏感的匹配位置。本文说明 UTF-8 输入、offset、负偏移、locale 和 false 判断,并讨论高频搜索时如何控制扫描成本。
-
用 ICU 规则字符串创建 PHP IntlRuleBasedBreakIterator,设置文本并读取边界与规则状态,同时说明 compiled 参数和中文分词边界。
-
PHP IntlPartsIterator 默认只提供顺序编号,无法直接回到原文位置。本文说明如何使用 KEY_LEFT 或 KEY_RIGHT 保存文本片段的 UTF-8 字节边界,并处理空输入、intl 不可用与字符偏移混淆。
-
PHP IntlBreakIterator 可按单词边界定位多语言文本。本文给出 UTF-8 字节切片与规则状态过滤示例,解释标点误计数、中文偏移错位及 ICU 环境差异,并区分通用边界与业务分词。
-
PHP 多请求循环中,curl_multi_select 返回 -1 不能当成普通活动信号立即紧密重试。本文说明如何配合 curl_multi_exec、有限等待和完成消息读取,避免 CPU 空转并正确清理 cURL 句柄。
-
用 PHP array_intersect_key 按键白名单裁剪配置数组,保留源数组中的原值和顺序,并说明 array_intersect、array_intersect_assoc、键类型和空结果边界。
-
说明 Composer autoload-dev 与 require-dev 的区别,通过独立测试命名空间示例介绍开发加载配置、--no-dev 生产安装,以及根包规则和发布文件边界。
-
PHP session.use_strict_mode 默认关闭,开启后会拒绝存储端不存在的未知会话 ID,并向浏览器发送新的 ID。本文说明配置时机、Cookie 配置和自定义 session handler 的 validateId/validate_sid 边界。
-
PHP password_get_info 用来读取已有密码哈希的 algo、algoName 和 options。本文说明怎样安全读取 cost 等算法参数,并区分元数据查看、密码验证与 password_needs_rehash 的升级判断。
-
PHP 导出 CSV 时不要用 implode 直接拼接字段。使用 fputcsv 让包含逗号、双引号和换行的字段自动加包围符,并显式把 escape 设为空字符串,避免 PHP 专有转义机制影响标准 CSV 兼容性。
-
PHP 日期解析不能只看 DateTimeImmutable 对象是否创建成功。结合 createFromFormat 和 getLastErrors,可以分别读取 warnings、errors,并兼容 PHP 8.2 之后无错误时返回 false 的情况,拦截 2026-02-30 这类自动进位输入。