如何在PHP中使用具有子数组属性值的子数组更改数组中的索引

SerNeo

我需要帮助。我有一系列像这样的项目:

[7646] => Array
    (
        [0] => Array
            (
                [id] => 156153
                [tmplvarid] => 5
                [value] => 2
            )

        [1] => Array
            (
                [id] => 56795
                [tmplvarid] => 7
                [value] => 430
            )

        [2] => Array
            (
                [id] => 56798
                [tmplvarid] => 19
                [value] => rate_08
            )
    ),
[7647] => Array ()

我需要将数组索引更改为子数组中属性tmplvarid的值,以像这样转换数组:

`[7646] => Array
    (
        [5] => Array
            (
                [id] => 156153
                [tmplvarid] => 5
                [value] => 2
            )

        [7] => Array
            (
                [id] => 56795
                [tmplvarid] => 7
                [value] => 430
            )

        [19] => Array
            (
                [id] => 56798
                [tmplvarid] => 19
                [value] => rate_08
            )
    ) 

如何将其转换为关联数组?

巴尔加夫·丘达萨马

使用从数组值设置索引值foreach loop

代码

<?PHP
  $arr = [
    "7646" => array
    (
        [
           
                "id"=> 156153,
                "tmplvarid" => 5,
                "value" => 2
            
        ],
        [
           
                "id"=> 56795,
                "tmplvarid" => 7,
                "value" => 430
            
        ],
        [
           
                "id"=> 56798,
                "tmplvarid" => 19,
                "value" => "rate_08"
            
        ]
    )
];
echo "<pre>";
print_r($arr);
$newarr= [];
foreach($arr as $key => $value)
{
    foreach($value as $key1 => $value1)
    {
        $newarr[$key][$value1['tmplvarid']] = $value1;
    }
}
print_r($newarr);
?>

输出

Array
(
    [7646] => Array(
        [5] => Array
        (
            [id] => 156153
            [tmplvarid] => 5
            [value] => 2
        )
        [7] => Array
        (
            [id] => 56795
            [tmplvarid] => 7
            [value] => 430
        )
        [19] => Array
        (
            [id] => 56798
            [tmplvarid] => 19
            [value] => rate_08
        )
    )
)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章