从单个数组中创建多个 PHP 数组并将这些新数组存储到新的单个数组中

膝盖90

这可能是一个笼统的标题,但我会尽力以最好的方式解释我的问题。

所以我有这种类型的关联数组:

 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 解决这个问题,但无法让它工作。

我需要这个输出,因为我想根据它们持有的项目对这些嵌套数组进行排序,从项目的最高数量开始。

谢谢!

托马斯·福斯特

您可以使用多种不同的方法来完成此操作。一种方法是循环遍历并分解键名,如果您知道总会有一个下划线,则获取最后一个数字,并将其用作索引:

$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"
    ]
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章