note 110686 deleted from function.json-decode by googleguy
| From: | googleguy@php.net | Date: | Thu, 22 Nov 2012 16:44:51 +0000 |
| Subject: | note 110686 deleted from function.json-decode by googleguy | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-192086@lists.php.net to get a copy of this message | ||
Note Submitter: foxdie_cs at hotmail dot com
----
Voici une petite curiosité lorsque l'on cast la classe standard php en array au lieu
d'utiliser le second paramètre "$assoc" de json_decode() :
<?php
$json = '{"0":"v","b":"v"}';
$a = ( array )json_decode( $json );
$b = array( "0" => "v", "b" => "v" );
echo json_last_error(); //aucune erreur signalée
print_r( $a );
print_r( $b ); //$a et $b semblent identiques
var_dump( array_values( $a ) == array_values( $b ) ); //toutes les valeurs sont identiques
var_dump( array_keys( $a ) == array_keys( $b ) ); //toutes les clés sont identiques
var_dump( $a == $b ); //mais les 2 tableaux sont différents
var_dump( array_diff( $a, $b ) ); //pourtant array_diff ne voit aucune différence
?>