所以我偶然发现了这个问题,将数组转换为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)
有什么解释吗?溶液?谢谢?
而不是
$array = json_encode($array);
$array = json_decode($array);
$array = (array)$array;
你只需要添加一个参数就可以在json_decode中转换为数组
$encoded_array = json_encode($array);
$array = json_decode($encoded_array, true);
请参阅有关 http://php.net/manual/en/function.json-decode.php 中json_decode()
的文档