PHP中如何检查动态数组的空键名及对应键值是否缺失
实现方案
核心逻辑
- 遍历外层二维数组的每一行子数组
- 先提取每行的所有键名,严格校验是否存在空字符串键,存在直接返回错误
- 空键校验通过后,逐行校验每个键对应的值是否符合非空要求,校验全部通过再执行后续业务逻辑
代码实现
foreach ($groupData as $rowNum => $rowItem) { // 校验空键名 $allKeys = array_keys($rowItem); foreach ($allKeys as $key) { if ($key === '') { return "校验失败:第".($rowNum + 1)."行存在空键名"; } } // 校验空值 foreach ($rowItem as $fieldKey => $fieldValue) { // 若业务允许0、false等非空字符串的空值,可将判断条件改为 $fieldValue === '' if (empty($fieldValue)) { return "校验失败:第".($rowNum + 1)."行字段【{$fieldKey}】的值为空"; } } // 校验全部通过,此处写后续处理代码 // your further code process here }
注意事项
PHP数组不允许重复键名,你示例中写的多个空键名的元素,在数组初始化完成后只会保留最后一个空键对应的元素,若该数组是从外部数据源解析生成,建议先在解析环节处理重复键的问题,避免出现校验遗漏。
内容的提问来源于stack exchange,提问作者user2727841
相关产品推荐
相关产品推荐

