PHP如何使用array_search查找NULL值 确定首个ID为NULL的位置
实现方案
核心原理
使用array_search搜索NULL值时必须开启严格匹配模式(即第三个参数设为true),否则PHP弱类型比较会把0、空字符串、false等和NULL弱相等的值也判定为匹配,导致结果错误。
完整实现代码
function getFirstNullIdPosition(array $records): int { // 提取所有记录的ID列,保留原数组顺序 $ids = array_column($records, 'ID'); // 严格匹配查找第一个值为NULL的索引(默认0起始) $zeroIndex = array_search(null, $ids, true); // 按需求转换返回值:未找到返回0,找到则转为1起始的位置 return $zeroIndex === false ? 0 : $zeroIndex + 1; }
效果验证
- 你给出的示例数据调用该函数,返回值为3,符合预期
- 所有记录ID均为NULL时调用,返回值为1,符合边界要求
- 无ID为NULL的记录时调用,返回值为0,符合边界要求
注意事项
确保查询返回的记录数组顺序和你需要判定的记录顺序一致,array_column会完整保留原数组的排列顺序。
内容的提问来源于stack exchange,提问作者user2399035
相关产品推荐
相关产品推荐

