PHP如何将二维关联数组转换为仅含指定键值的一维数组
实现方案
你可以通过以下两种常见方式完成需求,均会保留null元素,同时将id从字符串转为数值类型匹配你要的输出格式:
方法1:使用array_map(代码更简洁)
// $originalArray 为你提供的原始数组 $result = array_map(function($item) { // 元素为数组时提取id并转成整数,否则直接返回原值(保留null) return is_array($item) ? (int)$item['id'] : $item; }, $originalArray);
方法2:使用foreach遍历(扩展性更强,可灵活添加额外逻辑)
$result = []; foreach ($originalArray as $item) { if (is_array($item) && isset($item['id'])) { // 非null且存在id字段时,转成整数存入结果 $result[] = (int)$item['id']; } else { // 不符合条件的直接存入,保留null值 $result[] = $item; } }
输出验证
执行后打印$result的结果如下,完全符合你需要的array(5,6,null)结构:
array(3) { [0]=> int(5) [1]=> int(6) [2]=> NULL }
内容的提问来源于stack exchange,提问作者Milos N.
相关产品推荐
相关产品推荐

