首頁  >  文章  >  後端開發  >  如何在 PHP 中對子數組進行分組並按列格式化值?

如何在 PHP 中對子數組進行分組並按列格式化值?

Linda Hamilton
Linda Hamilton原創
2024-11-02 09:45:02721瀏覽

How to Group Subarrays and Format Values by Column in PHP?

按列對子數組進行分組,格式化組內其他列的值

在每個子數組由兩列組成的給在定數組中,任務的方法是按第二列對子數組進行分組並建立新數組,其中每個組的第一列的值以逗號連接,第二列的值作為第二個值。

例如,輸入數組如下:

$array = [
    ["444", "0081"],
    ["449", "0081"],
    ["451", "0081"],
    ["455", "2100"],
    ["469", "2100"]
];

應轉換為:

array (
  0 => 
  array (
    0 => '444,449,451',
    1 => '0081',
  ),
  1 => 
  array (
    0 => '455,469',
    1 => '2100',
  ),
)

解決方案:

實現此目的的簡單方法如下:

<code class="php">// Create an empty array to store the grouped data
$groups = [];

// Loop through the input array
foreach ($array as $item) {
    // If the second column value is not yet a key in $groups, create an empty array for it
    if (!array_key_exists($item[1], $groups)) {
        $groups[$item[1]] = [];
    }
    
    // Add the first column value to the array at the corresponding key
    $groups[$item[1]][] = $item[0];
}

// Initialize the new array with the desired structure
$structured = [];

// Loop through the groups
foreach ($groups as $group => $values) {
    // Join the first column values with commas and add the group key as the second column
    $structured[] = [implode(',', $values), $group];
}</code>

此解決方案可以有效地處理轉換,從而產生所需的輸出。

以上是如何在 PHP 中對子數組進行分組並按列格式化值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn