Numéros JSON : chaînes ou nombres ?
La fonction json_encode de PHP est connue pour sa tendance à encoder les nombres sous forme de chaînes, ce qui entraîne un comportement inattendu dans JavaScript. Par exemple, le tableau { "id": "3", ... } est interprété comme une chaîne en JavaScript, provoquant l'échec des opérations numériques.
Pour résoudre ce problème, PHP propose une solution : le JSON_NUMERIC_CHECK drapeau. Introduit dans PHP 5.3.3, cet indicateur garantit que les nombres sont automatiquement convertis dans leur représentation JSON appropriée.
Considérez l'utilisation suivante :
$arr = array( 'row_id' => '1', 'name' => 'George' ); echo json_encode( $arr, JSON_NUMERIC_CHECK );
Cela produira { "row_id":1 ,"name":"George" }, où les nombres comme "1" sont correctement traités comme des valeurs numériques.
En employant le Indicateur JSON_NUMERIC_CHECK, les développeurs peuvent empêcher json_encode d'interpréter mal les nombres et garantir la compatibilité avec les opérations numériques de JavaScript.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!