练习 / php

PHP 练习

PHP 的全部练习都来自可随时对照的主题。

69项练习 离线运行
php 测验 新题 哪个操作会在键重复时保留左侧值,并保留不连续的整数键? 掌握 PHP 数组转换、筛选、归约、合并、取键与排序的准确语义,并避开键重排、宽松比较和原地修改陷阱。 入门 1分钟 · 来自 数组函数 php 测验 新题 array_map 在什么情况下会保留输入数组的键? 掌握 PHP 数组转换、筛选、归约、合并、取键与排序的准确语义,并避开键重排、宽松比较和原地修改陷阱。 进阶 1分钟 · 来自 数组函数 php 预测输出 新题 这段程序会输出什么? 掌握 PHP 数组转换、筛选、归约、合并、取键与排序的准确语义,并避开键重排、宽松比较和原地修改陷阱。 入门 2分钟 · 来自 数组函数 php 测验 新题 省略初始参数时,array_reduce($values, $callback) 第一次传给回调的累加器是什么? 掌握 PHP 数组转换、筛选、归约、合并、取键与排序的准确语义,并避开键重排、宽松比较和原地修改陷阱。 进阶 1分钟 · 来自 数组函数 php 审查 AI 代码 新题 审查生成的产品信息流 掌握 PHP 数组转换、筛选、归约、合并、取键与排序的准确语义,并避开键重排、宽松比较和原地修改陷阱。 高级 6分钟 · 来自 数组函数 php 找出 bug 新题 找出过滤回调里的 bug 掌握 PHP 数组转换、筛选、归约、合并、取键与排序的准确语义,并避开键重排、宽松比较和原地修改陷阱。 进阶 4分钟 · 来自 数组函数 php 测验 新题 执行 $copy = $original 后,哪种后续修改仍可能同时从两个数组观察到? 理解 PHP 数组的有序映射模型、键规范化、列表形状、值语义与引用,并避开静默改变数据结构的常见错误。 进阶 1分钟 · 来自 数组 php 测验 新题 键 email 存在且值为 null 时,哪个表达式返回 true? 理解 PHP 数组的有序映射模型、键规范化、列表形状、值语义与引用,并避开静默改变数据结构的常见错误。 入门 1分钟 · 来自 数组 php 预测输出 新题 这段程序会输出什么? 理解 PHP 数组的有序映射模型、键规范化、列表形状、值语义与引用,并避开静默改变数据结构的常见错误。 入门 2分钟 · 来自 数组 php 预测输出 新题 这段程序会输出什么 JSON? 理解 PHP 数组的有序映射模型、键规范化、列表形状、值语义与引用,并避开静默改变数据结构的常见错误。 入门 2分钟 · 来自 数组 php 审查 AI 代码 新题 审查生成的目录索引 理解 PHP 数组的有序映射模型、键规范化、列表形状、值语义与引用,并避开静默改变数据结构的常见错误。 高级 6分钟 · 来自 数组 php 找出 bug 新题 找出 foreach 引用里的 bug 理解 PHP 数组的有序映射模型、键规范化、列表形状、值语义与引用,并避开静默改变数据结构的常见错误。 进阶 4分钟 · 来自 数组 php 测验 新题 iterable 参数声明能保证什么? 解释 PHP 的运行时类型、类型声明、强制转换与严格模式,并展示如何在外部输入边界保住类型与业务含义。 入门 1分钟 · 来自 数据类型 php 预测输出 新题 程序会输出哪两个类型名称? 解释 PHP 的运行时类型、类型声明、强制转换与严格模式,并展示如何在外部输入边界保住类型与业务含义。 入门 2分钟 · 来自 数据类型 php 预测输出 新题 这段程序会输出什么? 解释 PHP 的运行时类型、类型声明、强制转换与严格模式,并展示如何在外部输入边界保住类型与业务含义。 入门 2分钟 · 来自 数据类型 php 审查 AI 代码 新题 审查生成的订单输入映射器 解释 PHP 的运行时类型、类型声明、强制转换与严格模式,并展示如何在外部输入边界保住类型与业务含义。 高级 6分钟 · 来自 数据类型 php 找出 bug 新题 找出数量解析器里的 bug 解释 PHP 的运行时类型、类型声明、强制转换与严格模式,并展示如何在外部输入边界保住类型与业务含义。 入门 4分钟 · 来自 数据类型 php 测验 新题 函数定义在启用 strict_types=1 的文件中,但一个非严格文件用数字字符串调用其 int 参数。此时采用哪条规则? 解释 PHP 的运行时类型、类型声明、强制转换与严格模式,并展示如何在外部输入边界保住类型与业务含义。 进阶 1分钟 · 来自 数据类型 php 测验 新题 新增枚举 case 进入一个没有对应分支、也没有 default 的 match 表达式时,PHP 本身会怎样处理? 用 PHP 枚举表示封闭值集合,掌握纯枚举、带值枚举、边界转换、方法、序列化与演进陷阱。 进阶 1分钟 · 来自 枚举 php 预测输出 新题 程序会输出哪三行? 用 PHP 枚举表示封闭值集合,掌握纯枚举、带值枚举、边界转换、方法、序列化与演进陷阱。 进阶 2分钟 · 来自 枚举 php 预测输出 新题 这段程序会输出什么? 用 PHP 枚举表示封闭值集合,掌握纯枚举、带值枚举、边界转换、方法、序列化与演进陷阱。 入门 2分钟 · 来自 枚举 php 测验 新题 纯枚举默认如何进行 JSON 编码? 用 PHP 枚举表示封闭值集合,掌握纯枚举、带值枚举、边界转换、方法、序列化与演进陷阱。 进阶 1分钟 · 来自 枚举 php 审查 AI 代码 新题 审查生成的状态解析器 用 PHP 枚举表示封闭值集合,掌握纯枚举、带值枚举、边界转换、方法、序列化与演进陷阱。 高级 6分钟 · 来自 枚举 php 找出 bug 新题 找出纯枚举取值里的 bug 用 PHP 枚举表示封闭值集合,掌握纯枚举、带值枚举、边界转换、方法、序列化与演进陷阱。 进阶 4分钟 · 来自 枚举 php 测验 新题 仍需让 PHP 默认展示或日志机制处理诊断时,自定义错误处理器必须返回什么? 理解 PHP 诊断级别、自定义错误处理器、ErrorException 转换与关闭阶段检查,并建立不会泄露内部信息的生产策略。 入门 1分钟 · 来自 错误处理 php 预测输出 新题 这段程序会输出哪个类名? 理解 PHP 诊断级别、自定义错误处理器、ErrorException 转换与关闭阶段检查,并建立不会泄露内部信息的生产策略。 入门 2分钟 · 来自 错误处理 php 预测输出 新题 这段程序会输出什么? 理解 PHP 诊断级别、自定义错误处理器、ErrorException 转换与关闭阶段检查,并建立不会泄露内部信息的生产策略。 入门 2分钟 · 来自 错误处理 php 测验 新题 哪项生产环境基线既保留诊断,又不会在 HTTP 响应中暴露诊断? 理解 PHP 诊断级别、自定义错误处理器、ErrorException 转换与关闭阶段检查,并建立不会泄露内部信息的生产策略。 进阶 1分钟 · 来自 错误处理 php 审查 AI 代码 新题 审查生成的端点边界 理解 PHP 诊断级别、自定义错误处理器、ErrorException 转换与关闭阶段检查,并建立不会泄露内部信息的生产策略。 高级 6分钟 · 来自 错误处理 php 找出 bug 新题 找出警告处理器里的 bug 理解 PHP 诊断级别、自定义错误处理器、ErrorException 转换与关闭阶段检查,并建立不会泄露内部信息的生产策略。 进阶 4分钟 · 来自 错误处理 php 预测输出 新题 三个单词会按什么顺序输出? 理解 PHP 异常的抛出、传播、捕获与清理语义,并用异常类型和异常链建立可审查的失败边界。 入门 2分钟 · 来自 异常 php 预测输出 新题 这段程序会输出哪一行? 理解 PHP 异常的抛出、传播、捕获与清理语义,并用异常类型和异常链建立可审查的失败边界。 入门 2分钟 · 来自 异常 php 测验 新题 哪个表达式会包装 $error,并把它保留为可编程访问的原因? 理解 PHP 异常的抛出、传播、捕获与清理语义,并用异常类型和异常链建立可审查的失败边界。 进阶 1分钟 · 来自 异常 php 审查 AI 代码 新题 审查生成的支付边界 理解 PHP 异常的抛出、传播、捕获与清理语义,并用异常类型和异常链建立可审查的失败边界。 高级 6分钟 · 来自 异常 php 找出 bug 新题 找出导入清理里的 bug 理解 PHP 异常的抛出、传播、捕获与清理语义,并用异常类型和异常链建立可审查的失败边界。 进阶 4分钟 · 来自 异常 php 测验 新题 哪个 catch 类型既能接收抛出的 RuntimeException,也能接收引擎产生的 TypeError? 理解 PHP 异常的抛出、传播、捕获与清理语义,并用异常类型和异常链建立可审查的失败边界。 入门 1分钟 · 来自 异常 php 测验 新题 PHP 的运算符优先级能保证什么? 理解 PHP 文件如何执行、表达式怎样产生值,以及如何用条件、循环和函数写出可预测的程序。 进阶 1分钟 · 来自 PHP 语言基础 php 预测输出 新题 这个 match 表达式会输出哪个标签? 理解 PHP 文件如何执行、表达式怎样产生值,以及如何用条件、循环和函数写出可预测的程序。 入门 2分钟 · 来自 PHP 语言基础 php 预测输出 新题 这段程序会输出哪两个值? 理解 PHP 文件如何执行、表达式怎样产生值,以及如何用条件、循环和函数写出可预测的程序。 入门 2分钟 · 来自 PHP 语言基础 php 审查 AI 代码 新题 审查生成的订单列表渲染器 理解 PHP 文件如何执行、表达式怎样产生值,以及如何用条件、循环和函数写出可预测的程序。 高级 6分钟 · 来自 PHP 语言基础 php 找出 bug 新题 找出 switch 分支里的 bug 理解 PHP 文件如何执行、表达式怎样产生值,以及如何用条件、循环和函数写出可预测的程序。 入门 4分钟 · 来自 PHP 语言基础 php 预测输出 新题 程序会输出哪两个城市名? 理解 PHP 8.3 的魔术方法触发规则、安全分派、克隆与序列化契约,避免把隐式钩子变成难以检查的隐藏接口。 进阶 2分钟 · 来自 魔术方法 php 预测输出 新题 这段程序会输出什么? 理解 PHP 8.3 的魔术方法触发规则、安全分派、克隆与序列化契约,避免把隐式钩子变成难以检查的隐藏接口。 入门 2分钟 · 来自 魔术方法 php 测验 新题 外部读取在什么情况下会调用 __get()? 理解 PHP 8.3 的魔术方法触发规则、安全分派、克隆与序列化契约,避免把隐式钩子变成难以检查的隐藏接口。 入门 1分钟 · 来自 魔术方法 php 审查 AI 代码 新题 审查生成的订单代理 理解 PHP 8.3 的魔术方法触发规则、安全分派、克隆与序列化契约,避免把隐式钩子变成难以检查的隐藏接口。 高级 6分钟 · 来自 魔术方法 php 测验 新题 一个类同时定义 __serialize() 与 __sleep()。PHP 8.3 的 serialize() 会使用哪个钩子? 理解 PHP 8.3 的魔术方法触发规则、安全分派、克隆与序列化契约,避免把隐式钩子变成难以检查的隐藏接口。 进阶 1分钟 · 来自 魔术方法 php 找出 bug 新题 找出代理转发里的 bug 理解 PHP 8.3 的魔术方法触发规则、安全分派、克隆与序列化契约,避免把隐式钩子变成难以检查的隐藏接口。 进阶 4分钟 · 来自 魔术方法 php 测验 新题 文件导入 App\Models\Invoice 后,设置 $class = "Invoice" 并执行 new $class()。PHP 会请求哪个名称? PHP 命名空间把同名声明隔离开,并通过明确的名称解析规则连接代码组织、导入别名与 PSR-4 自动加载。 进阶 1分钟 · 来自 命名空间 php 测验 新题 PHP 文件中的 use Vendor\Mail\Client; 会做什么? PHP 命名空间把同名声明隔离开,并通过明确的名称解析规则连接代码组织、导入别名与 PSR-4 自动加载。 入门 1分钟 · 来自 命名空间 php 预测输出 新题 这段程序会输出什么? PHP 命名空间把同名声明隔离开,并通过明确的名称解析规则连接代码组织、导入别名与 PSR-4 自动加载。 入门 2分钟 · 来自 命名空间 php 审查 AI 代码 新题 审查生成的导出器工厂 PHP 命名空间把同名声明隔离开,并通过明确的名称解析规则连接代码组织、导入别名与 PSR-4 自动加载。 高级 6分钟 · 来自 命名空间 php 找出 bug 新题 找出 PSR-4 映射里的 bug PHP 命名空间把同名声明隔离开,并通过明确的名称解析规则连接代码组织、导入别名与 PSR-4 自动加载。 进阶 4分钟 · 来自 命名空间 php 测验 新题 构造器属性提升本身能保证什么? 用 PHP 8.3 的类、封装、接口、继承与组合建立明确契约,并正确处理对象身份和初始化规则。 入门 1分钟 · 来自 面向对象编程 php 测验 新题 为什么 Checkout 应在构造器中接收 ShippingPolicy 接口? 用 PHP 8.3 的类、封装、接口、继承与组合建立明确契约,并正确处理对象身份和初始化规则。 进阶 1分钟 · 来自 面向对象编程 php 预测输出 新题 这段程序会输出什么? 用 PHP 8.3 的类、封装、接口、继承与组合建立明确契约,并正确处理对象身份和初始化规则。 入门 2分钟 · 来自 面向对象编程 php 审查 AI 代码 新题 审查一个生成的钱包对象 用 PHP 8.3 的类、封装、接口、继承与组合建立明确契约,并正确处理对象身份和初始化规则。 高级 8分钟 · 来自 面向对象编程 php 找出 bug 新题 找出 Job 子类里的 bug 用 PHP 8.3 的类、封装、接口、继承与组合建立明确契约,并正确处理对象身份和初始化规则。 进阶 4分钟 · 来自 面向对象编程 php 测验 新题 在 PHP 中,什么会让 #[RequiresRole('admin')] 真正执行授权? 通过联合类型、命名实参、特性、match、构造器属性提升与 nullsafe 运算符,掌握 PHP 8.0 的核心语义和升级风险。 入门 1分钟 · 来自 PHP 8.0 新特性 php 测验 新题 公开方法把形参从 $includeTax 改名为 $withTax,但位置和类型不变。哪个现有调用可能失败? 通过联合类型、命名实参、特性、match、构造器属性提升与 nullsafe 运算符,掌握 PHP 8.0 的核心语义和升级风险。 进阶 1分钟 · 来自 PHP 8.0 新特性 php 预测输出 新题 这段程序会输出哪四行? 通过联合类型、命名实参、特性、match、构造器属性提升与 nullsafe 运算符,掌握 PHP 8.0 的核心语义和升级风险。 入门 2分钟 · 来自 PHP 8.0 新特性 php 测验 新题 提升属性何时可以在构造器主体中通过 $this 读取? 通过联合类型、命名实参、特性、match、构造器属性提升与 nullsafe 运算符,掌握 PHP 8.0 的核心语义和升级风险。 进阶 1分钟 · 来自 PHP 8.0 新特性 php 审查 AI 代码 新题 审查生成的运费报价 通过联合类型、命名实参、特性、match、构造器属性提升与 nullsafe 运算符,掌握 PHP 8.0 的核心语义和升级风险。 高级 6分钟 · 来自 PHP 8.0 新特性 php 找出 bug 新题 找出可选链里的 bug 通过联合类型、命名实参、特性、match、构造器属性提升与 nullsafe 运算符,掌握 PHP 8.0 的核心语义和升级风险。 进阶 4分钟 · 来自 PHP 8.0 新特性 php 预测输出 新题 这段程序会输出什么? 用 PHP 8.3 的 Trait 在无关类之间复用行为,显式解决成员冲突,并让契约、依赖与状态所有权保持清楚。 进阶 2分钟 · 来自 Trait php 审查 AI 代码 新题 审查生成的审计 Trait 用 PHP 8.3 的 Trait 在无关类之间复用行为,显式解决成员冲突,并让契约、依赖与状态所有权保持清楚。 高级 6分钟 · 来自 Trait php 找出 bug 新题 找出 Trait 别名里的 bug 用 PHP 8.3 的 Trait 在无关类之间复用行为,显式解决成员冲突,并让契约、依赖与状态所有权保持清楚。 进阶 4分钟 · 来自 Trait php 测验 新题 insteadof 能否解决 Trait 与使用方类声明的同名属性冲突? 用 PHP 8.3 的 Trait 在无关类之间复用行为,显式解决成员冲突,并让契约、依赖与状态所有权保持清楚。 进阶 1分钟 · 来自 Trait php 测验 新题 服务需要接收任何能生成引用编号的对象,无论它是否使用 FormatsReference。参数应该要求什么? 用 PHP 8.3 的 Trait 在无关类之间复用行为,显式解决成员冲突,并让契约、依赖与状态所有权保持清楚。 入门 1分钟 · 来自 Trait php 测验 新题 在 PHP 8.3 中,文章所示子类何时会得到与父类不同的 Trait 静态存储? 用 PHP 8.3 的 Trait 在无关类之间复用行为,显式解决成员冲突,并让契约、依赖与状态所有权保持清楚。 高级 1分钟 · 来自 Trait