如何修改PHP数组结构?移除空子数组并转为一维数组
搞定你的PHP数组结构问题
嘿,这事儿不难!你现在的多维数组里混了个没用的空子数组,要把它删掉,同时把剩下的有效子数组转成一维结构,对吧?我给你两种方法,通用款和适配你这个场景的简洁款。
通用解决方案(适配任意数量非空子数组)
如果以后你的数组里可能出现多个非空子数组,用这个方法最稳妥:
// 你的原始数组 $originalArray = [ ['some value', 'some value'], [] // 这个空数组直接移除 ]; // 第一步:过滤掉所有空的子数组 $filtered = array_filter($originalArray, function($sub) { return !empty($sub); // 只保留非空的子数组 }); // 第二步:把过滤后的子数组合并成一维数组 $finalArray = array_merge(...$filtered); // 查看结果 print_r($finalArray);
运行后就能得到你想要的结构:
Array ( [0] => some value [1] => some value )
针对你场景的简洁版
因为你的例子里只有一个非空子数组,其实可以一步到位:
$finalArray = current(array_filter($originalArray));
array_filter先去掉空数组,current直接取过滤后数组的第一个元素,完美匹配你的需求!
小补充
- 要是你的PHP版本低于5.6(现在应该很少见了),没法用
...展开运算符,就换成call_user_func_array('array_merge', $filtered)来合并数组 empty()会把完全为空的数组判定为“空”,正好精准删掉那个没用的空子数组
内容的提问来源于stack exchange,提问作者user759235
相关产品推荐
相关产品推荐

