So I just stumbled upon this issue with array conversion to JSON and back to array. I used the function to store the array in database.
Code:
$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));
Output:
array(2) {
["1"]=>
string(5) "first"
["200"]=>
string(6) "second"
}
bool(false)
bool(false)
bool(false)
bool(false)
Any explanation? Solution? Thanks?