PHP 如何将数组 json 字符串转换为数组?
PHP How to convert array json string to array?
如何将JSON数组字符串转换为数组
示例 - 这是数组 json 字符串 -
$params = [{"143":"166"},{"93":"49"}];
使用 json_decode
时
$options1 = json_decode($params, true);
但是 returns
[super_attribute1] => Array
(
[0] => Array
(
[143] => 166
)
[1] => Array
(
[93] => 49
)
)
但我需要如何转换成这种格式?
super_attribute] => Array
(
[143] => 163
[93] => 49
)
嵌套 foreach 可以为您解决这个问题
<?php
$data = [
[ 143=>166 ],
[ 93=>49 ]
];
$return = [];
foreach ($data as $d)
{
foreach ($d as $k=>$v) $return[$k] = $v;
unset($v);
} unset($d);
var_dump($return); // array(2) { [143]=> int(166) [93]=> int(49) }
只需使用循环或映射来转换结果
function customJsonDecode($jsonString) {
$decode = json_decode($jsonString, true);
$result = [];
foreach($decode as $item) $result = array_merge($result, array_pop($item));
return $result;
}
如何将JSON数组字符串转换为数组 示例 - 这是数组 json 字符串 -
$params = [{"143":"166"},{"93":"49"}];
使用 json_decode
时$options1 = json_decode($params, true);
但是 returns
[super_attribute1] => Array
(
[0] => Array
(
[143] => 166
)
[1] => Array
(
[93] => 49
)
)
但我需要如何转换成这种格式?
super_attribute] => Array
(
[143] => 163
[93] => 49
)
嵌套 foreach 可以为您解决这个问题
<?php
$data = [
[ 143=>166 ],
[ 93=>49 ]
];
$return = [];
foreach ($data as $d)
{
foreach ($d as $k=>$v) $return[$k] = $v;
unset($v);
} unset($d);
var_dump($return); // array(2) { [143]=> int(166) [93]=> int(49) }
只需使用循环或映射来转换结果
function customJsonDecode($jsonString) {
$decode = json_decode($jsonString, true);
$result = [];
foreach($decode as $item) $result = array_merge($result, array_pop($item));
return $result;
}