php教程技术文章
-
PHP SplFixedArray::fromArray() 可以把普通数组转换为固定数组。本文对比 preserveKeys=true 与 false,说明稀疏索引、null 空槽、连续重排和不适用场景。286 收藏 -
说明SplFixedArray缩容丢弃尾部、越界读取与扩容补null的差别,并给出尾部备份示例和对象引用处理建议。286 收藏 -
PHP session 过期后的回跳应保存短期路由意图,而非恢复旧登录态。本文用服务端白名单映射和一次消费函数,解释重定向、POST、多标签页及目标授权边界。285 收藏 -
PHP SplFileObject 读取 TSV 时,关键是把制表符设置为单字节分隔符,并显式传入 escape 参数。本文用 READ_CSV 和 fgetcsv 两种写法说明如何逐行得到字段数组、按列访问数据,以及如何处理表头、空行和末尾行。285 收藏 -
文章 · php教程 | 2个月前 | 错误处理 · 调试 · php教程 · PHP 8.5 · 错误处理 set_error_handler PHP 8.5 get_error_handler restore_error_handler
PHP 8.5 新增 get_error_handler(),可以直接读取当前用户错误处理器。文章用请求级日志采集场景拆解返回值、临时替换、restore_error_handler() 恢复和 PHP 8.4 兼容边界。284 收藏 -
PHP 处理百万行 CSV 的关键不是把文件换成生成器语法,而是建立流式读取、单行编码规范化与异常旁路三个边界。本文给出可直接改造的 fgetcsv + Generator 写法,并解释 BOM、源编码、列数错误、空行、批量写入与内存反例。284 收藏 -
PHP FFI 的 CData 对象、派生指针与本地库内存可能拥有不同生命周期。本文给出所有权判定、释放配对、封装写法和回归清单。284 收藏 -
PHP finfo_file 可以从上传临时文件内容识别 MIME 类型。本文解释参数、返回值和异常边界,并给出与服务端允许列表结合的 PHP 写法。284 收藏 -
PHP 的 parse_str() 不会把同名普通参数自动收集成数组;需要用方括号命名,并通过第二个参数接收结果。本文用可运行示例核对覆盖规则、键名转换和 max_input_vars 边界。282 收藏 -
讲清 PHP mysqli multi_query 如何用 more_results 和 next_result 遍历全部结果,并在切换前释放结果集、识别后续 SQL 错误。282 收藏 -
PHP PDO 读取结果集指定行时,要在 prepare 阶段声明 PDO::CURSOR_SCROLL,再用 PDO::FETCH_ORI_ABS 和绝对行号调用 fetch;同时处理驱动支持、稳定排序、越界返回 false 与 closeCursor() 边界。282 收藏 -
PHP 的 SplFixedArray 适合长度可预估、只使用连续整数索引的数据;普通 array 更适合关联键、动态追加、删除和丰富的数组函数。选择时应先看数据结构约束,再考虑内存与迁移成本。281 收藏 -
PHP cURL 中 CURLOPT_CONNECTTIMEOUT 约束建立连接的等待时间,CURLOPT_TIMEOUT 约束整个传输。本文用错误码和 curl_getinfo 时间字段区分 DNS、连接、等待响应与接收响应阶段。280 收藏 -
PHP 处理日志、CSV 或导出文本时,可以用 Generator 配合 fopen()、fgets() 按行提供数据,避免先用 file() 或 explode() 把整个大文件装进数组。本文给出资源释放、EOF、换行和消费端批处理的完整边界。280 收藏 -
PHP DateTimeImmutable 直接加一个月时,月末日期可能溢出到下个月。本文用代码说明默认规则,并给出 last day of、DateInterval、不可变对象和边界测试的处理方法。280 收藏