…». Lors du développement de votre code en PHP, le programmeur peut rencontrer le message d'erreur « Argument non valide fourni pour foreach in ...». Après ce message, il est généralement suivi d’une indication de ses spécificités, par exemple, "/ modules / tasks / todo_tasks_sub.php à la ligne 121". L'erreur est généralement due aux spécificités du segment de code disponible et nécessite une vérification des particularités de l'utilisation de variables dans celui-ci. Regardons les facteurs d'erreur et comment y remédier.

Contenu de l'article:
- Причины появления Invalid argument supplied for foreach 1 Causes de l'argument invalide pour foreach
- Как исправить ошибку «Invalid argument supplied for foreach in» 2 Comment corriger l'erreur "Argument non valide pour foreach dans"
- Ошибка в WordPress 3 Erreur dans WordPress
- Заключение 4 conclusion
Causes de l'argument non valide fourni pour foreach
L'erreur en question se produit généralement dans une situation où une variable que foreach tente d'exécuter (répéter) n'est pas un tableau. Par exemple, vous passez dans une boucle, pas un tableau, mais un scalaire, ou vous utilisez un tableau double et vous oubliez de déterminer le mode de sélection de l'index.
Supposons que nous ayons une fonction appelée get_user_posts. Cette fonction devrait renvoyer un tableau de commentaires de l'utilisateur. Cependant, s'il n'y a pas de commentaires, la fonction renvoie la valeur logique FALSE.

Dans le code ci-dessus, nous avons supposé que la variable $ posts serait toujours un tableau. Cependant, si la fonction get_user_posts renvoie la valeur logique FALSE, la boucle foreach ne fonctionnera pas et PHP affichera le message d'erreur suivant:
Avertissement: argument non valide pour foreach () à la ligne 7
Comment résoudre ce problème? Voyons le comprendre.
C'est intéressant: installer PHP 7.0.5 sur Debian.
Comment corriger l'erreur "Argument non valide pour foreach in"
La solution dépend de ce que votre code est pour. En d’autres termes, si la fonction get_user_posts doit toujours renvoyer un tableau, vous devez bien évidemment savoir pourquoi elle renvoie une valeur logique FALSE ou une valeur NULL. La raison de ceci peut être plusieurs choses:
- Impossible de déclarer le tableau vide “par défaut” (par défaut);
- Impossible d'interroger la base de données;
- Le tableau est écrasé ou réinitialisé. Cela se produit souvent dans des scripts comportant un grand nombre de tableaux, lorsqu'il existe des contraintes de mémoire et que le développeur est obligé de supprimer les tableaux avec lesquels il a fini de travailler.
En examinant le code de quelqu'un d'autre, nous pouvons rencontrer des API et des fonctions qui renvoient FALSE lorsqu'aucun résultat n'est trouvé. Si tel est le cas, vous pouvez ajouter le contrôle suivant à votre code:

Ci-dessus, nous utilisons la fonction is_array pour vérifier si $ posts est un tableau. Et nous le faisons AVANT d’essayer de le boucler en utilisant la construction foreach. Comme nous l'avons déjà écrit, tout dépend de l'objectif de votre script. L'ajout de la vérification is_array n'est pas judicieux dans une situation où l'on se demande si une variable sera un tableau. Après tout, vous allez cacher une erreur, qui ne devrait pas exister.
Erreur WordPress
De même, l'erreur considérée «L'argument non valide fourni pour foreach in» peut apparaître lors du travail de sites sur WordPress. Le problème est dû au fait que WP_Block_Parser effectue plusieurs manipulations de chaîne avec substr () et strlen (), en supposant qu'elles fonctionnent avec des octets uniques et non avec des séquences à plusieurs octets.
Résolution de l'erreur Un argument non valide fourni pour foreach dans WordPress permet de modifier la valeur du paramètre mbstring.func_overload sur 0 (le coût est généralement de 2). Enregistrez les modifications apportées et essayez d’accéder à la page précédemment problématique.
, и скопировать в аналогичную папку на вашем хостинге. Si cela ne résout pas le problème, essayez de télécharger WordPress 4.9.5, extrayez - le du dossier wp-includes et copiez-le dans un dossier similaire de votre hébergement. Après cela, WordPress peut proposer de mettre à jour vos bases de données, d’accord, et cela fonctionnera après la suppression du cache.
Voir aussi: demandes multiples à xmlrpc.php dans WordPress.
Conclusion
L'erreur "Argument non valide fourni pour foreach dans ..." dans le code PHP est généralement provoquée par une variable qui n'est pas un tableau. Last tente d'exécuter foreach, mais sans succès. Pour résoudre le problème, vous pouvez ajouter la fonction is_array (elle vérifiera si la variable est un tableau). Vous pouvez également recommander un matériel d’établissement des faits général sur le site Web phpfaq.ru , où vous pourrez trouver en détail comment trouver l’erreur dans le code que vous avez créé.
