Correction de l'erreur de type de décalage illégal
Problème :
Vous rencontrez un « type de décalage illégal " erreur lors de l'itération dans un tableau, en accédant aux éléments en utilisant des objets ou des tableaux comme clés d'index. Voici un exemple de code qui déclenche l'erreur :
<code class="php">$s = array(); for($i = 0; $i < 20; $i++){ $source = $xml->entry[$i]->source; $s[$source] += 1; } print_r($s);</code>
Réponse :
Des erreurs de type de décalage illégales se produisent lors de l'accès aux index de tableau en utilisant des objets ou des tableaux comme clés d'index.
<code class="php">$x = new stdClass(); $arr = array(); echo $arr[$x]; // Example: Illegal offset type</code>
Dans votre code, l'erreur se produit car $xml->entry[$i]->source peut être un objet ou un tableau pour certaines valeurs de $i. Lorsque vous essayez de l'utiliser comme clé d'index pour $s, vous rencontrez l'erreur de type de décalage illégal.
Pour résoudre ce problème, vérifiez le contenu et la structure de $xml pour vous assurer que vous y accédez correctement et que il contient ce que vous attendez.
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!