php - 根据检查元素的结果拆分数组
问题描述
我在 PHP 中有一个数组,如下所示:
`
Array (
[0] => Array
(
[0] => Some text
[1] => 6230.C3
)
[1] => Array
(
[0] => Some text
[1] => 6230.C3
)
[2] => Array
(
[0] =>
[1] =>
)
[3] => Array
(
[0] => Some text
[1] =>
)
[4] => Array
(
[0] => Some text
[1] =>
)
[5] => Array
(
[0] => Some text
[1] =>
)
[6] => Array
(
[0] =>
[1] =>
)
[7] => Array
(
[0] => Some text
[1] =>
)
[8] => Array
(
[0] => Some text
[1] =>
)
)
`
Array[2] 和 Array[6] 是空数组。请帮我将我的数组拆分为三个数组array1、array2、array3,如下所示(在 Array[2] 和 Array[6] 的位置拆分)。
array1 = [ Array[0], Array[1] ]
array2 = [ Array[3], Array[4], Array[5] ]
Aarray3 = [ Array[7], Array[8] ]
谢谢您的帮助。
解决方案
这比您的原始问题更灵活一些,因为它不限于将 3 个数组作为单独的变量。以下结果将是一个多维数组,以您想要的方式拆分,但拆分次数不受限制。如果这确实是您输入的内容,我可以在必要时重新修改它以恰好适合 3 个变量。
<?php
$final = array();
$counter = 0;
$outerEmpty = false;
foreach($originalArray as $outer) {
$innerEmpty = true;
foreach($outer as $inner) {
if (!empty($inner)) {
$innerEmpty = false;
break;
}
}
if (!$innerEmpty)
$final[$counter][] = $outer;
else
$counter++;
}
推荐阅读
- c# - 获取形状中所有内容控件的标题列表时出错 (Word)
- sage - 如何优化我的 Sage 可约化算法的速度?
- data-structures - 随机快速排序的最坏场景是什么?
- java - 收到关于 json 的错误,我是 Android World 的新手
- python - 如何使用 Keras 创建多输入一输出 LSTM 模型?
- android - 启用后等待多长时间开始 BLE 扫描?
- sed - AIX:sed 命令删除除第一行之外的所有行的模式
- python - 在 Python 中显示虹膜数据集时出错
- scala - 在没有 RDD 的数据帧列值提取中定义隐式/显式编码的最佳实践
- java - 无法将带有连字符的 JSON 字段映射到 Java 对象字段