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



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

[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
)
)
)

最新更新