JSON编码和解码(字符串)数字索引数组

时间:2018-10-26 03:59:54

标签: php arrays json

所以我偶然发现了这个问题,将数组转换为JSON并返回数组。我使用该函数将数组存储在数据库中。

代码:

$array = array(
    1 => 'first',
    '200'  => 'second'
);
$array = json_encode($array);
$array = json_decode($array);
$array = (array)$array;

echo "<pre>"; var_dump($array);
var_dump(array_key_exists(1, $array));
var_dump(array_key_exists(200, $array));
var_dump(array_key_exists('1', $array));
var_dump(array_key_exists('200', $array));

输出:

array(2) {
  ["1"]=>
  string(5) "first"
  ["200"]=>
  string(6) "second"
}
bool(false)
bool(false)
bool(false)
bool(false)

有什么解释吗?解?谢谢吗?

1 个答案:

答案 0 :(得分:2)

代替

$encoded_array = json_encode($array); $array = json_decode($encoded_array, true);

您只需要添加一个参数即可转换为json_decode中的数组

json_decode()

请参阅http://php.net/manual/en/function.json-decode.php中有关try (PoolingHttpClientConnectionManager manager = new PoolingHttpClientConnectionManager()) { manager.setMaxTotal(600); manager.setDefaultMaxPerRoute(100); 的文档