Php 如何在嵌套foreach中取消设置特定数组?
我有这样一个输出数组:Php 如何在嵌套foreach中取消设置特定数组?,php,arrays,multidimensional-array,unset,Php,Arrays,Multidimensional Array,Unset,我有这样一个输出数组: Array ( [0] => Array ( [item] => null [count] => 0 [child] => Array ( [Dagadu Bocah] => Array (
Array
(
[0] => Array
(
[item] => null
[count] => 0
[child] => Array
(
[Dagadu Bocah] => Array
(
[item] => Dagadu Bocah
[count] => 47
[child] => Array
(
[HirukPikuk] => Array
(
[item] => HirukPikuk
[count] => 5
[child] => Array
(
[DGD] => Array
(
[item] => DGD
[count] => 1
[child] =>
)
)
)
[DGD] => Array
(
[item] => DGD
[count] => 5
[child] => Array
(
[Malioboroman] => Array
(
[item] => Malioboroman
[count] => 1
[child] =>
)
)
)
[Malioboroman] => Array
(
[item] => Malioboroman
[count] => 2
[child] =>
)
)
)
)
)
)
在我的期望中,我可以像前面所说的那样使用循环,以删除某些数组的方式进行重复,以消除数组的不同部分,该数组位于具有三个项(即“项”、“计数”和“子项”)的数组之上,如何从上面的数组生成这样的数组
Array
(
[0] => Array
(
[item] => null
[count] => 0
[child] => Array
(
[0] => Array
(
[item] => Dagadu Bocah
[count] => 47
[child] => Array
(
[0] => Array
(
[item] => HirukPikuk
[count] => 5
[child] => Array
(
[0] => Array
(
[item] => DGD
[count] => 1
[child] =>
)
)
)
[1] => Array
(
[item] => DGD
[count] => 5
[child] => Array
(
[Malioboroman] => Array
(
[item] => Malioboroman
[count] => 1
[child] =>
)
)
)
[2] => Array
(
[item] => Malioboroman
[count] => 2
[child] =>
)
)
)
)
)
)
似乎要将
子数组从关联数组转换为索引数组
假设您的数据被称为$data
,下面是一个可以使用的递归函数:
function convert(&$data) {
foreach ($data as $row) {
if(isset($row["child"])) {
$row["child"] = array_values($row["child"]);
convert($row["child"]);
}
}
}
// call it for each row
foreach($data as $row) convert($row);
似乎要将子数组从关联数组转换为索引数组
假设您的数据被称为$data
,下面是一个可以使用的递归函数:
function convert(&$data) {
foreach ($data as $row) {
if(isset($row["child"])) {
$row["child"] = array_values($row["child"]);
convert($row["child"]);
}
}
}
// call it for each row
foreach($data as $row) convert($row);
我在这里没有看到问题。如果你对数组使用带有引用参数的递归函数,当你达到要取消设置的级别时,它将影响原始数组。等等,我编辑我的问题。你似乎在无休止地使用短语。你能把你的段落分成较短的词组,以便我们更好地理解你的问题吗?另外,请不要发布print\r
的输出,而是用PHP语法发布你的输入和预期的输出。我看不到这里有问题。如果你使用带有数组引用参数的递归函数,当你达到你想要取消设置的级别时,它将影响原始数组。等等,我编辑我的问题你似乎在无休无止地造句。你能把你的段落分成较短的短语吗?这样我们就可以更好地理解你的问题了。另外,请不要发布print\r
的输出,而是用PHP语法发布你的输入和预期输出。