通过匹配关键php中的字符串对数组中的项进行分组

问题描述 投票:-1回答:1

我有一个数组,我想在键中对具有匹配字符串的项进行分组。

我的数组看起来像这样:

 Array
 (
     [ALL_trading_enabled] => 1
     [ALL_enabled_pairs] => ALL
     [ALL_max_trading_pairs] => 10
     [SNGLSBTC_DCA_enabled] => 
     [SNGLSBTC_sell_only_mode] => 1
     [SNGLSBTC_sell_value] => 0.28
     [SNGLSBTC_trailing_profit] => 0.009
     [ENJBTC_DCA_enabled] => 
     [ENJBTC_sell_only_mode] => 1
     [ENJBTC_sell_value] => 0.28
     [ENJBTC_trailing_profit] => 0.009
     [BCPTBTC_DCA_enabled] => 
     [BCPTBTC_sell_only_mode] => 1
     [BCPTBTC_sell_value] => 0.28
     [BCPTBTC_trailing_profit] => 0.009
 )

我想将具有相同字符串的项目分组。我想要的是这样的:

 Array
 (
    [0] => Array(
            [ALL_trading_enabled] => 1
            [ALL_enabled_pairs] => ALL
            [ALL_max_trading_pairs] => 10
          )
    [1] => Array(
            [SNGLSBTC_DCA_enabled] => 
            [SNGLSBTC_sell_only_mode] => 1
            [SNGLSBTC_sell_value] => 0.28
            [SNGLSBTC_trailing_profit] => 0.009
          )
    [2] => Array(
            [ENJBTC_DCA_enabled] => 
            [ENJBTC_sell_only_mode] => 1
            [ENJBTC_sell_value] => 0.28
            [ENJBTC_trailing_profit] => 0.009
          )
    [3] => Array(
            [BCPTBTC_DCA_enabled] => 
            [BCPTBTC_sell_only_mode] => 1
            [BCPTBTC_sell_value] => 0.28
            [BCPTBTC_trailing_profit] => 0.009
          )
 )

有没有帮助实现这一目标?或者更好的是,如果我可以将匹配分配为创建的组的键。

 Array(
    [ALL] => Array(
             //items here
             )
    [SNGLSBTC] => Array(
                  //items here
                  )
 )
php arrays
1个回答
0
投票

_上爆炸并获取第一部分,用作键并添加到该数组:

foreach($array as $key => $value) {
    $new_key = explode('_', $key)[0];
    $result[$new_key][$key] = $value;
}

如果需要重新索引(在编辑之后你不需要这个):

$result = array_values($result);
© www.soinside.com 2019 - 2024. All rights reserved.