Cela fonctionne pour moi
if (is_array($array)) {
$obj = new StdClass();
foreach ($array as $key => $val){
$key = str_replace("-","_",$key)
$obj->$key = $val;
}
$array = $obj;
}
assurez-vous que str_replace est là comme « - » est pas autorisé dans les noms de variables en php, ainsi que:
Règles de nommage pour les variables
* A variable name must start with a letter or an underscore "_"
* A variable name can only contain alpha-numeric characters and underscores (a-z, A-Z, 0-9, and _)
* A variable name should not contain spaces. If a variable name is more than one word, it should be separated with an underscore ($my_string), or with capitalization ($myString)
Ainsi, puisque ceux-ci sont autorisés dans les tableaux, si l'un d'eux vient dans la clé $ de la matrice que vous convertissez, vous aurez des erreurs désagréables.
Les meilleures réponses sont souvent les plus simples +1 – alex