簡體   English   中英

將 arrays 數組轉換為具有唯一值的逗號分隔列表 - PHP

[英]convert array of arrays into comma separated list with unique values - PHP

我有一個如下所示的數組:

$var[] =   ^ array:4 [▼
      0 => array:1 [▼
        0 => "apple"
      ]
      1 => array:1 [▼
        0 => "apple"
        1 => "grape"
      ]
      2 => array:1 [▼
        0 => "orange"
      ]
      3 => array:1 [▼
        0 => "banana"
      ]
    ]

有沒有辦法將此數組轉換為具有唯一值的逗號分隔列表,如下所示?

$var = "apple,grape,orange,banana"

我試過 implode(', ',$var) 但它沒有按預期工作。 有什么幫助嗎?

更新:我的子數組可能有超過 1 個元素。 它是動態的。

在給定預期輸入的情況下,這會產生結果。 基本上array_column從數組的每個項目中獲取第一項(基於 0)。 然后array_unique將簡單地獲取沒有重復的值。

$arr = [
    ['apple'],
    ['apple'],
    ['banana'],
    ['pie'],
];

print_r(array_unique(array_column($arr, 0)));

還有一個單行解決方案:

$result= array_unique(call_user_func_array('array_merge', $arr));

參看。 https://stackoverflow.com/a/14972714/13720553

暫無
暫無

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

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