用户在尝试将 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中文网其他相关文章!