簡體   English   中英

如何根據值對數組進行分組

[英]How to group an array based on values

我有一個多維數組,我想根據第二個鍵對其進行分組。

例如我有一個數組輸出如下:

Array
(
    [1] => Array
        (
            [1] => 48.083261120685
        )

    [2] => Array
        (
            [3] => 40.509258201058
        )

    [3] => Array
        (
            [2] => 38.262252939418
        )

    [4] => Array
        (
            [3] => 42.296571965113
        )

    [5] => Array
        (
            [3] => 4.5825756949558
        )

    [6] => Array
        (
            [3] => 186.7110066386
        )

    [7] => Array
        (
            [3] => 149.29835899969
        )

    [8] => Array
        (
            [2] => 47.053161424074
        )

    [9] => Array
        (
            [2] => 15.58845726812
        )

    [10] => Array
        (
            [2] => 6.164414002969
        )

    [11] => Array
        (
            [1] => 4.5825756949558
        )

    [12] => Array
        (
            [2] => 42.0119030752
        )

    [13] => Array
        (
            [1] => 52.886671288709
        )

    [14] => Array
        (
            [1] => 65.222695436481
        )

)

從上面的數組輸出。 如果有一點能力將輸出更改為如下可能是可能的:

Array
(
    [1] => Array
        (
            [1] => 48.083261120685,
[13] => 52.886671288709,
[14] => 65.222695436481
        )
[2] => Array (
[3] => 38.262252939418,
[8] => 47.053161424074,
[9] => 15.58845726812,
[10] => 6.164414002969,
[12] => 42.0119030752
)

我嘗試了幾種方法,但可能因為我只是一個初學者,我一直無法找到解決方案。 請幫助朋友

您可以使用foreach

$r= [];
foreach($a as $k => $v){
  foreach($v as $k1 => $v1){
    $r[$k1][$k] = $v1;
  }
}

工作演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM