将数组映射到新数组

麦库克16

我有一个数组,其中有一个数组,我想为“power”的每个数组值创建一个新数组。做这个的最好方式是什么?

原始数组:

Array
(
    [0] => Array
        (
            [date] => 2019-09-16 15:16:03
            [stid] => 64
            [beam] => 1
            [power] => {1,3,7,8,9}
            [gates] => 5
)

   [1] => Array
        (
            [date] => 2019-09-16 15:17:03
            [stid] => 64
            [beam] => 1
            [power] => {14,15,16}
            [gates] => 3
)
)

编辑:输出数组应该从 1 开始递增门

Array
(
    [0] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 1
            [power] => 1
        )

   [1] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 2
            [power] => 3
         )

   [2] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 3
            [power] => 7
         )

   [3] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 4
            [power] => 8
         )


   [4] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 5
            [power] => 9
         )

   [5] => Array
        (
            [date] => 2019-09-16 15:17:03
            [gate] => 1
            [power] => 14
         )

   [6] => Array
        (
            [date] => 2019-09-16 15:17:03
            [gate] => 2
            [power] => 15
         )

   [7] => Array
        (
            [date] => 2019-09-16 15:17:03
            [gate] => 3
            [power] => 16
         )
)

对所有 8 个(5 和 3)个幂值继续,这样得到的数组是一个包含 8 个数组的数组。

迷茫
# Original Data Structure
$arr = 
[
    [
        'date' => '2019-09-16 15:16:03',
        'stid' => 64,
        'beam' => 1,
        'power' => '{1,3,7,8,9}',
        'gates' => 5
    ],
    [
        'date' => '2019-09-16 15:17:03',
        'stid' => 64,
        'beam' => 1,
        'power' => '{14,15,16}',
        'gates' => 3
    ]
];

$output = [];
foreach ($arr as $a)
{
    $gateCount = 0;
    foreach (explode(',', trim($a['power'], '{}')) as $p) 
    {
        $output[] = [
            'date' => $a['date'],
            'gate' => $gateCount++ % $a['gates'] + 1,
            'power' => $p
        ];
    }
}
print_r($output);

输出:

Array
(
    [0] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 1
            [power] => 1
        )

    [1] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 2
            [power] => 3
        )

    [2] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 3
            [power] => 7
        )

    [3] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 4
            [power] => 8
        )

    [4] => Array
        (
            [date] => 2019-09-16 15:16:03
            [gate] => 5
            [power] => 9
        )

    [5] => Array
        (
            [date] => 2019-09-16 15:17:03
            [gate] => 1
            [power] => 14
        )

    [6] => Array
        (
            [date] => 2019-09-16 15:17:03
            [gate] => 2
            [power] => 15
        )

    [7] => Array
        (
            [date] => 2019-09-16 15:17:03
            [gate] => 3
            [power] => 16
        )

)

笔记:

['beam']['stid']已根据您的样品停止使用。如果需要,可以轻松添加。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数组部分映射到新数组

来自分类Dev

将国家/地区的Javascript数组映射到新数组

来自分类Dev

将数组对象值映射到新数组

来自分类Dev

将特定属性从数组映射到新数组

来自分类Dev

将SwiftyJSON映射到数组

来自分类Dev

将索引数组映射到坐标数组

来自分类Dev

将键数组映射到值数组

来自分类Dev

将数组映射到数组内部

来自分类Dev

将数组映射到对象数组

来自分类Dev

使用 ko 映射将新属性映射到可观察数组

来自分类Dev

将具有数组的数组映射到数组

来自分类Dev

Ruby:将字符串数组映射到数组数组

来自分类Dev

将哈希数组反向映射到哈希

来自分类Dev

自动将数组映射到列表

来自分类Dev

将数组索引映射到矩阵

来自分类Dev

将php数组映射到嵌套的json

来自分类Dev

将数组映射到int Java

来自分类Dev

将表单提交映射到数组

来自分类Dev

将数组索引映射到矩阵

来自分类Dev

将位置映射到数组索引

来自分类Dev

将php数组映射到嵌套的json

来自分类Dev

python将字典映射到字典数组?

来自分类Dev

将数组映射到int Java

来自分类Dev

将Java数组映射到Frege

来自分类Dev

将 json 值映射到数组

来自分类Dev

如何将数组映射到哈希

来自分类Dev

将 javascript 对象映射到数组结构

来自分类Dev

将 numpy 数组映射到网格

来自分类Dev

javascript 将一个新数组映射到一个添加新属性的现有数组上