按一列对子数组进行分组,并从组内的另一列创建逗号分隔值
在 PHP 中,根据一列对子数组进行分组,连接这些组中另一列的值带来了独特的挑战。为了解决这个问题,我们提供了一个详细的解决方案,将给定的数组转换为所需的结构化格式。
提供的示例数组由每个包含两个元素的子数组组成。目标是根据第二个元素(称为“列”)对子数组进行分组,并创建一个新数组,其中每个元素代表一个组。在每个组元素中,第一个元素应该是分组子数组中第一个元素的逗号分隔列表,而第二个元素表示公共列。
为了实现这一点,我们使用分步-步骤方法:
下面提供的 PHP 脚本演示了这种方法:
<code class="php">// Create the input array $data = array( array('444', '0081'), array('449', '0081'), array('451', '0081'), array('455', '2100'), array('469', '2100') ); // Initialize the groups array $groups = array(); // Loop through the original array foreach ($data as $item) { $key = $item[1]; // Get the group key // Check if the group key exists if (!array_key_exists($key, $groups)) { $groups[$key] = array(); } // Add the subarray to the group $groups[$key][] = $item[0]; } // Create the structured array $structured = array(); foreach ($groups as $group => $values) { $structured[] = array(implode(',', $values), $group); } // Display the output print_r($structured);</code>
此脚本有效地将输入数组转换为新数组具有指定的结构,其中子数组基于公共列进行分组,分组子数组的第一个元素用逗号连接。
以上是如何根据一列对 PHP 中的子数组进行分组,并从这些组中的另一列创建逗号分隔值?的详细内容。更多信息请关注PHP中文网其他相关文章!