php教程技术文章
-
文章 · php教程 | 2星期前 | pdo · php教程 · 异常排查 · php pdo 参数类型 预处理语句 bindParam bindValue PDOStatement PDO::PARAM_INT
PHP PDO 查询异常常与参数类型和绑定时机有关。本文解释 bindValue 默认类型、PDO::PARAM_* 的选择,以及 bindValue 与 bindParam 的取值差异,帮助你稳定处理 ID、分页、布尔值和 NULL。381 收藏 -
PHP preg_match 返回 1、0、false 三种结果,本文说明如何用严格比较区分无匹配和 PCRE 执行失败,并立即读取错误码与错误消息。380 收藏 -
PHP 8.3 引入的 json_validate 可以只判断 JSON 语法是否有效,depth 参数用于限制嵌套深度。本文说明默认值、有效范围、ValueError 与 false 的区别,以及和 json_decode 保持参数一致的做法。378 收藏 -
PHP 枚举映射要保持穷尽,核心是显式列出每个 case、不要用静默 default,并遍历 cases() 做回归测试。本文比较 enum 方法、外部函数和数组映射,说明各自边界。377 收藏 -
围绕 PHP Fiber 的 suspend、resume 与 throw,说明暂停值、恢复值、异常传播和终止状态如何被调度器分别管理。377 收藏 -
DOMDocument 处理 HTML fragment 时,普通 HTML 适合用临时根节点包装后解析,XML 兼容片段可以用 DOMDocumentFragment 和 appendXML。本文还说明 saveHTML、UTF-8、HTML4 解析规则与 PHP 8.4 HTML5 解析边界。377 收藏 -
quoted_printable_decode 只还原传输编码字节,不会自动识别 charset 或转成 UTF-8。本文说明单个 MIME 文本部分的显式字符集转换、输入限制、纯文本输出和失败留存方法。377 收藏 -
PHP 7.4+ 可用 ReflectionReference::fromArrayElement() 判断数组元素是否为引用,再严格比较 getId() 判断两个元素是否共享同一引用。本文覆盖非引用、缺失键、foreach 残留引用与解除引用后的反向验证。376 收藏 -
用 PHP PharData 遍历 tar 或 zip 数据归档时,关键是把 PharData、递归迭代器和 SplFileInfo 的职责分开。本文用 getFilename、getSubPathname 和 isDir 读取文件名、归档内相对路径与目录条目。376 收藏 -
PHP 8.5 允许静态闭包和 first-class callable 出现在常量表达式中,属性参数、参数默认值和常量因此可以直接携带可调用对象。本文从属性读取场景出发,说明写法、作用域边界与升级排查清单。375 收藏 -
说明 Composer autoload-dev 与 require-dev 的区别,通过独立测试命名空间示例介绍开发加载配置、--no-dev 生产安装,以及根包规则和发布文件边界。375 收藏 -
soundex 相同只能说明两个词进入同一个语音编码桶。本文用 PHP 示例拆解误判原因,并给出模糊召回、精确确认和语言边界的处理方案。375 收藏 -
PHP DateInterval 中 d 是日期段的天数分量,而由 diff 创建的 days 才是两个日期之间的完整天数。本文用固定区间和来源对比,说明报表统计、自然日期段与格式化展示应如何选字段。374 收藏 -
PHP PDO 动态 IN 查询应为每个值生成独立占位符,再按类型绑定。本文以多选筛选说明空列表、整数ID、参数位置、租户权限与大列表边界,提供原创查询函数。372 收藏 -
PHP typed property 尚未初始化时直接读取会抛出 Error。本文用 ReflectionProperty::isInitialized 在 getValue 前判断实例属性状态,区分未初始化、已初始化为 null、显式 unset、static 属性和私有属性的处理边界。372 收藏