php - 将 PHP "grouped"数组转换为 "segmented"数组

标签 php arrays multidimensional-array foreach

尝试将“分组”多维数组转换为“分段”多维数组。不确定如何准确解释它,希望这些 print_r 结果能更好地解释它。

当前数组

Array
(
    [qty] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 1
        )

    [item_id] => Array
        (
            [0] => RR332
            [1] => FF586
            [2] => QW865
        )

    [item_name] => Array
        (
            [0] => Widget 1
            [1] => Widget 2
            [2] => Widget 3
        )

    [price] => Array
        (
            [0] => 1.00
            [1] => 1.50
            [2] => 1.50
        )

)

想要的数组

Array
(
    [0] => Array
        (
            [qty] => 1
            [item_id] => RR332
            [item_name] => Widget 1
            [price] => 1.00
        )

    [1] => Array
        (
            [qty] => 1
            [item_id] => FF586
            [item_name] => Widget 2
            [price] => 1.50
        )

    [2] => Array
        (
            [qty] => 1
            [item_id] => QW865
            [item_name] => Widget 3
            [price] => 1.50
        )

)

这看起来应该是一个简单的任务,但我还没有能够破解它。

如果可能的话,我希望遍历当前数组来创建想要的数组

非常感谢任何帮助!

谢谢。

最佳答案

你是这个意思?

$data = array(
  'qty' => array(
    0 => 1,
    1 => 1,
    2 => 1,
  ),
  'item_id' => array(
    0 => 'RR332',
    1 => 'FF586',
    2 => 'QW865',
  ),
  'item_name' => array(
    0 => 'Widget 1',
    1 => 'Widget 2',
    2 => 'Widget 3',
  ),
  'price' => array(
    0 => '1.00',
    1 => '1.50',
    2 => '1.50',
  ),
);

$result = array();
foreach($data as $key => $values)
{
    foreach($values as $number => $value)
        $result[$number][$key] = $value;
}

print_r($result);

输出:

Array
(
    [0] => Array
        (
            [qty] => 1
            [item_id] => RR332
            [item_name] => Widget 1
            [price] => 1.00
        )

    [1] => Array
        (
            [qty] => 1
            [item_id] => FF586
            [item_name] => Widget 2
            [price] => 1.50
        )

    [2] => Array
        (
            [qty] => 1
            [item_id] => QW865
            [item_name] => Widget 3
            [price] => 1.50
        )

)

关于php - 将 PHP "grouped"数组转换为 "segmented"数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8568029/

相关文章:

php - 多表删除查询不起作用

php - 将 phpmyadmin 国家/地区 ISO 代码转换为变量定义值 PHP

php - 更改程序生成的选择元素列表中特定选择元素的背景颜色

javascript - Javascript/jQuery 中的范围?

java - 变量名前后[]的区别

c++ - 将二维数组写入输出文件 - C++

php - 如何检查文件是否已删除 google Drive api

c++ - 如何使用getline从文件中读入数组

javascript - 数组值覆盖而不是保留旧值 - Javascript

c - 如何初始化一个 n 维的多维数组,其中 n 是 C 中用户的输入?