3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Issue 1, empty associative arrays (dictionaries) become regular arrays. $dictionary = array('key' => 'value'); var_dump(json_encode($dictionary)); // gives '{"key":"value"}'; unset($dictionary['key']); var_dump(json_encode($dictionary)); // Gives '[]' -> json dictionary turned into array var_dump(json_encode((Object)$dictionary)); // Gives '{}' -> json dictionary stays dictionary // Issue 2, array manipulations that involve the array indexes, turn numeric arrays into dictionaries. $fruits = array("apples", "oranges"); var_dump(json_encode($fruits)); // Gives ["apples", "oranges"] unset($fruits[0]); // Don't like apples. var_dump(json_encode($fruits)); // Gives '{"1":"oranges"}' -> wow, array turned into dictionary.

preferences:
41.78 ms | 402 KiB | 5 Q