php教程技术文章
-
PHP readonly 属性不是普通的只读提示,而是一次初始化后禁止重新绑定的语言约束。本文解释合法初始化、作用域、间接修改、对象内部可变性和克隆边界。387 收藏 -
文章 · php教程 | 6天前 | 错误处理 · php教程 · 接口排查 · JSON解析 · php json_decode json_last_error JSON_THROW_ON_ERROR JSON_ERROR_NONE
解释 PHP json_decode 返回 null 的两种含义,演示如何用 json_last_error、错误码和 JSON_THROW_ON_ERROR 区分合法 JSON null 与语法、编码、深度解析失败。239 收藏 -
PHP 处理中文字符串时,mb_str_split 的 length 按字符而不是字节计算。本文从 UTF-8 编码、固定长度切块、参数边界和 emoji 组合字符四个方面说明怎么写,避免中文被拆成乱码或长度判断失真。485 收藏 -
PHP array_filter 不传回调时会按空值语义过滤整数 0 和字符串 0。本文用表单与统计数据场景演示如何通过显式回调保留 0,区分 null、空字符串和 false,并在需要时用 array_values 重建连续索引。300 收藏 -
DateTimeImmutable 的 setTimezone() 不会改原对象,而是返回保留同一时间点的新对象。接住返回值,再按目标时区格式化,才能让订单、报表的业务日期稳定可控。175 收藏 -
解释 PHP PDO 占位符为什么只能绑定数据值,说明 MySQL 中 LIMIT 和 OFFSET 的正确绑定方式,并用白名单映射处理动态排序字段,避免把标识符误当成参数。372 收藏 -
filter_input() 读取的是 PHP 从 SAPI 保存的原始外部输入,不会跟随脚本后续对 $_GET 的修改。本文用一个最小示例拆开两条读取路径,并说明什么时候改用 filter_var(),以及如何区分参数缺失、校验失败和有效的 0。443 收藏 -
文章 · php教程 | 6天前 | 字符串 · 字符编码 · php教程 · mbstring · php encoding UTF-8 mb_substr mb_internal_encoding
PHP 中统一处理中文字符串时,mb_internal_encoding 负责提供 mbstring 默认编码,mb_substr 的 encoding 参数只覆盖当前截取调用。本文用 UTF-8、混合输入和 PHP 8 异常边界说明两者怎么选择。177 收藏 -
PHP readonly 属性报错时,先看属性是否已初始化,再根据赋值作用域区分初始化失败、重复修改和间接修改。223 收藏 -
文章 · php教程 | 1星期前 | 反射 · 元编程 · attribute · php教程 · 参数读取 · ReflectionParameter getAttributes PHP attributes Attribute::IS_REPEATABLE 重复属性
PHP 重复 Attribute 不能靠读取端猜测,必须先在属性类声明中加入 Attribute::IS_REPEATABLE,再用 ReflectionParameter::getAttributes() 取得全部实例,并根据 getArguments 或 newInstance 的需要选择读取方式。261 收藏 -
使用 PHP curl_multi 并发请求时,通过 curl_multi_info_read() 获取已完成的单个句柄,再结合 CURLOPT_PRIVATE、传输结果和 HTTP 状态准确归属与处理响应。223 收藏 -
文章 · php教程 | 1星期前 | 网络编程 · 故障排查 · php教程 · 流处理 · eof PHP stream_set_timeout stream_get_meta_data timed_out
PHP stream_set_timeout 不会直接抛出超时异常,读取后应紧接着用 stream_get_meta_data 检查 timed_out,再结合 feof 和读取返回值区分超时、EOF 与读取错误。199 收藏 -
PHP backed enum 处理请求参数时,from() 失败会抛出 ValueError,tryFrom() 失败返回 null。本文说明如何清洗外部值、映射稳定业务错误,并让领域服务只接收合法枚举。467 收藏 -
解释 PHP match 没有命中分支时抛出 UnhandledMatchError 的原因,并用 default、显式异常和输入归一化设计可靠的默认结果。100 收藏 -
PHP json_decode 返回 null 不一定是语法错误,深层 JSON 超过 depth 时会产生 JSON_ERROR_DEPTH。本文用异常、错误码和轻量结构扫描区分问题,并给出生产环境的深度上限与排查写法。488 收藏