php教程技术文章
-
PHP 8.1+ 中,backed enum 可以把稳定的 string 或 int 值直接映射到 JSON 接口字段;本文说明响应序列化、请求回填、tryFrom 校验和 JsonSerializable 自定义输出的边界。139 收藏 -
PHP array_key_first 在空数组中返回 null,合法整数键 0 不能用真假判断。本文从 PHP 7.3 迁移、首键与首值的区别、内部指针副作用和旧版本 polyfill 四个边界,整理一套可直接回归的安全写法。490 收藏 -
围绕 PHP Fiber 的 suspend、resume 与 throw,说明暂停值、恢复值、异常传播和终止状态如何被调度器分别管理。377 收藏 -
PHP preg_match_all 默认按捕获组分列返回,业务代码往往更需要按每次匹配整理成一条记录。本文用命名子模式和 PREG_SET_ORDER 组织结果,再处理未匹配组、字节偏移和可审计的错误分支。386 收藏 -
PHP PDO::getAttribute 可以读取数据库连接属性,但不同驱动支持的属性并不相同。本文从驱动识别、异常处理和兼容分支三个方面,整理一套不把驱动专属能力误当成通用 API 的写法。494 收藏 -
解释 PHP PDO 为什么不能直接嵌套开启事务,给出外层统一提交、内层抛出异常以及使用 SAVEPOINT 局部回滚的写法。218 收藏 -
PHP PDO 动态筛选应把数据值交给占位符,排序和条件结构由固定片段与白名单控制。示例说明 bindValue、租户来源及异常传播,避免把执行失败当成正常空结果。402 收藏 -
Composer 在生产环境通常应先用 --optimize 生成 classmap,再根据是否存在运行时生成类决定使用 authoritative classmap 或 APCu。本文围绕 dump-autoload 给出部署命令、取舍和最小检查清单。118 收藏 -
PHP NumberFormatter 通过 locale 决定数字与货币的地区展示规则,再由 formatCurrency() 接收 ISO 货币代码生成金额文本。本文说明创建格式化器、小数位控制、错误处理和接口边界。346 收藏 -
PHP stream filter 的方向与链顺序会影响字符转换。本文用 UTF-16LE 转 UTF-8 的内存流示例,说明先转码再做 ASCII 大写的原因,并区分缓冲和多字节边界。157 收藏 -
PHP 终端表格不要用 strlen() 猜列宽。本文用 mb_strwidth() 解释半角、全角和 UTF-8 编码边界,并给出按显示宽度截断与对齐的实用写法。241 收藏 -
PHP 文件上传失败时,upload_max_filesize 限制单个文件,post_max_size 限制整个 POST 请求。本文用现象、配置和 PHP 读取值的方法区分两者,说明为什么 post_max_size 必须更大,以及如何处理超限后 $_FILES 为空。211 收藏 -
PHP fgetcsv 返回的是按位置排列的字段数组,连续分隔符产生的空字段仍然占位,而行尾缺失字段会让数组长度变短。本文用字段数量、空值和空行三个判断层次,说明如何在 CSV 导入边界保留行号并区分数据为空与结构不完整。261 收藏 -
PHP PDO 的 ATTR_STRINGIFY_FETCHES 可以控制查询结果是否把非 null 值按字符串读取。本文结合接口输出、旧代码兼容和类型检查,说明开启与关闭该属性时的边界。270 收藏 -
PDO 模拟预处理会影响重复占位符和错误暴露时机。本文结合 PDO_MYSQL 说明原生优先的边界、显式参数类型与可迁移写法,帮助判断是否关闭模拟。308 收藏