这可能有点通用名称,但我将尽我所能尽力解释我的问题。
所以我有这种类型的关联数组:
Array
(
[ICO_0] => checked
[Investment_0] => checked
[Investment_1] => checked
[Marketing_1] => checked
)
我想做的就是根据附加在键末尾(0,1 ...)的数字将它分成多个数组。基本上我想要一个新的数组看起来像这样:
Array(
Array(
[ICO_0] => checked
[Investment_0] => checked
[Token Sale_0] => checked
),
Array(
[Investment_1] => checked
[Marketing_1] => checked
)
)
我曾尝试使用array_chunk解决此问题,但无法使其正常工作。
我将需要此输出,因为我想根据嵌套的数组对它们的保留进行排序,从最高数量的项目开始。
谢谢!
答案 0 :(得分:1)
您可以使用几种不同的方法来完成此操作。一种方法是遍历并爆炸密钥名称,如果您知道总会有一个下划线,获取最后一个数字,然后将其用作索引:
$results = [
"ICO_0" => "checked",
"Investment_0" => "checked",
"Investment_1" => "checked",
"Marketing_1" => "checked",
"Investment_2" => "checked",
"Marketing_2" => "checked"
];
foreach($results as $key => $value){
$ex = explode('_', $key);
$new_result[end($ex)][$key] = $value;
}
对我来说返回以下内容:
array:3 [▼
0 => array:2 [▼
"ICO_0" => "checked"
"Investment_0" => "checked"
]
1 => array:2 [▼
"Investment_1" => "checked"
"Marketing_1" => "checked"
]
2 => array:2 [▼
"Investment_2" => "checked"
"Marketing_2" => "checked"
]
]