PHP 陣列按鍵分組函數可以按指定規則對陣列按鍵分類,用於資料匯總、過濾和轉換。內建函數包括 array_column()、array_combine() 和 array_group_by()。例如,可以按使用者 ID 分組訂單或按後綴過濾金鑰,從而有效組織和處理陣列資料。
數組按鍵分組是PHP 中一項強大的功能,它允許您根據自訂規則將數組按鍵分組。這在許多實際場景中非常有用,例如:
PHP 提供了以下內建函數來實作陣列按鍵分組:
array_column()
:提取指定列(按鍵)的資料。 array_combine()
:將兩個陣列的鍵值對合併成一個新陣列。 array_group_by()
:將陣列按給定的鍵分組(PHP 8.1 引入)。 案例1:按照用戶ID 分組訂單
$orders = [ ['user_id' => 1, 'product_id' => 1, 'quantity' => 2], ['user_id' => 1, 'product_id' => 2, 'quantity' => 3], ['user_id' => 2, 'product_id' => 3, 'quantity' => 1], ]; $groupedOrders = array_group_by($orders, 'user_id');
執行後,$groupedOrders
將是一個多維數組,其中每個元素都是包含相同使用者ID 的訂單數組:
[ 1 => [ ['user_id' => 1, 'product_id' => 1, 'quantity' => 2], ['user_id' => 1, 'product_id' => 2, 'quantity' => 3], ], 2 => [ ['user_id' => 2, 'product_id' => 3, 'quantity' => 1], ], ]
案例2:過濾具有特定後綴的金鑰
$settings = [ 'site.title' => 'My Site', 'site.description' => 'A great website', 'user.name' => 'John Doe', ]; $filteredSettings = array_filter($settings, function($key) { return strpos($key, '.site') !== false; });
執行後,$filteredSettings
將包含僅帶有.site
後綴的金鑰的設定:
[ 'site.title' => 'My Site', 'site.description' => 'A great website', ]
以上是PHP 陣列按鍵分組的函數和應用指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!