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;
}