php教程技术文章
-
PHP PDO::getAttribute 可以读取数据库连接属性,但不同驱动支持的属性并不相同。本文从驱动识别、异常处理和兼容分支三个方面,整理一套不把驱动专属能力误当成通用 API 的写法。494 收藏 -
用 PHP preg_replace_callback_array 处理 Markdown 标记时,规则顺序会影响代码片段、链接和强调语法。本文用一组可运行的回调规则说明如何分阶段保护、替换和恢复文本,避免嵌套替换与回调串线。492 收藏 -
说明 PHP str_word_count 使用 format=2 返回英文单词位置索引的方法,区分单词序号与字符串偏移,并补充 characters 参数、PHP 8 异常和多字节文本边界。492 收藏 -
用 PHP filter_var 校验 URL 和邮箱时,应分别选择 FILTER_VALIDATE_URL 与 FILTER_VALIDATE_EMAIL,并严格比较返回值。本文还说明 URL 协议白名单、路径要求、ASCII 限制,以及邮箱语法通过不代表邮箱真实存在等边界。491 收藏 -
PHP 8.5 的 |> 适合把单输入、单输出的纯函数按数据流从左到右串起来。本文用字符串转换示例说明 callable、箭头函数括号、多参数收口和不适用边界。490 收藏 -
PHP array_key_first 在空数组中返回 null,合法整数键 0 不能用真假判断。本文从 PHP 7.3 迁移、首键与首值的区别、内部指针副作用和旧版本 polyfill 四个边界,整理一套可直接回归的安全写法。490 收藏 -
PHP preg_match 返回 0 和 false 不是一回事:0 表示正则语法有效但没有匹配,false 表示调用或正则本身出错。本文用手机号校验和 UTF-8 异常案例拆开判断顺序,给出日志记录、错误定位和边界检查方法。489 收藏 -
文章 · php教程 | 1个月前 | php教程 · session.save_path PHP session_start PHP会话保存路径 session_save_path排查 PHP会话目录权限
PHP session_start 找不到保存路径时,先查看当前请求实际生效的 session.save_path,再区分配置层级、代码覆盖、目录权限和容器挂载问题,最后用绝对路径完成复查。489 收藏 -
PHP SplPriorityQueue 是最大堆,foreach 使用它的迭代接口时会移动并提取堆顶元素,因此遍历后队列可能为空。本文区分 clone 只读、top 查看和 extract 消费三种写法,并说明返回标志的选择。489 收藏 -
如果这里要校验的是一个单独的嵌套对象,比如 { "adminEmail": "...", "forumName": "..." },而不是对象数组,那 @RestRequestParam 的 map 应该设为 false,同时继续保留 @ConstraintsCollection。原因其实很直接:它488 收藏 -
PHP json_decode 返回 null 不一定是语法错误,深层 JSON 超过 depth 时会产生 JSON_ERROR_DEPTH。本文用异常、错误码和轻量结构扫描区分问题,并给出生产环境的深度上限与排查写法。488 收藏 -
说明 PHP WeakMap 如何用弱对象键保存派生缓存,避免缓存容器延长对象生命周期,并给出迁移写法、强引用排查和最小验证示例。487 收藏 -
PHP 8.5 的 NoDiscard 属性用于提醒调用方不要悄悄丢弃重要返回值。本文说明如何选择适用函数、添加提示、处理有意忽略的结果,并厘清接口、继承和 trait 的边界。486 收藏 -
PHP 8.4 的 pcntl_waitid 可以按 PID 或进程组等待子进程状态。本文用 PHP 示例说明 info、WEXITED、WNOHANG、WNOWAIT 的关系,以及 false、ECHILD、EINTR、EINVAL 的处理边界。486 收藏 -
PHP 处理中文字符串时,mb_str_split 的 length 按字符而不是字节计算。本文从 UTF-8 编码、固定长度切块、参数边界和 emoji 组合字符四个方面说明怎么写,避免中文被拆成乱码或长度判断失真。485 收藏