用戶在嘗試將2 維數組($MainArray) 轉換為3 維數組時遇到了挑戰維數組($ConvertedArray)。使用者的目標是根據機器名稱對作業進行分組並維護其原始金鑰。
解決此挑戰的方法在於利用名為 array_column 的 PHP 函數。此函數可讓您從多維數組中提取特定列。以下是如何在這種情況下使用它:
$machineNames = array_column($MainArray, 'Machine_Name'); $uniqueMachines = array_unique($machineNames); $ConvertedArray = []; foreach ($uniqueMachines as $machineName) { $ConvertedArray[$machineName] = array_filter($MainArray, function ($job) use ($machineName) { return $job['Machine_Name'] === $machineName; }); }
此程式碼透過迭代唯一的機器名稱並將作業相應地分組到 $ConvertedArray 中來完成所需的轉換。結果是一個新數組,其中機器名稱作為鍵,相關作業數組作為值。
可以在 PHP 腳本中輕鬆實作提供的程式碼,以實現所需的輸出。可以列印原始陣列和轉換後的陣列進行驗證:
echo '<pre class="brush:php;toolbar:false">'; print_r($MainArray); echo ''; echo '
'; print_r($ConvertedArray); echo '';
這將輸出原始的 2 維數組和新建立的 3 維數組。
以上是如何根據列的值將 2D PHP 陣列轉換為 3D 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!