Dans le processus de développement de projets utilisant PHP, vous pouvez rencontrer cet avertissement :
Avertissement PHP : argument non valide fourni pour foreach()
Cet avertissement Généralement, ceci un avertissement est émis car un paramètre non-array est passé dans la fonction foreach(), empêchant PHP d'effectuer l'opération itérative. Alors, comment résoudre ce problème ? Cet article vous présentera plusieurs solutions possibles.
Pour les paramètres transmis par la fonction foreach(), vous devez juger explicitement s'ils sont de type tableaux. Vous pouvez utiliser la fonction intégrée PHP is_array() ou la fonction gettype() pour compléter ce jugement. Par exemple :
if (is_array($arr)) { foreach ($arr as $val) { // do something } } else { // 参数非数组,抛出异常或者返回错误码 }
Le parcours d'un tableau vide dans foreach() sera déclenche également un avertissement similaire, vous devez donc juger si le tableau est vide. Ceci peut être réalisé en utilisant la fonction empty(). Par exemple :
if (!empty($arr)) { foreach ($arr as $val) { // do something } } else { // 数组为空,抛出异常或者返回错误码 }
Si les paramètres transmis peuvent être vides, ils peuvent être utilisés avant le Fonction foreach() L'opérateur OR attribue des valeurs par défaut aux paramètres. Par exemple :
foreach ($arr ?? [] as $val) { // do something }
Donc même si $arr est vide, si l'opérateur ?? est utilisé, l'avertissement ne sera pas déclenché dans foreach().
Enfin, il convient de noter qu'il existe de nombreuses fonctions en PHP qui peuvent générer des avertissements. juste la fonction foreach(). Lors de l'écriture de code, vous devez lire attentivement la documentation de la fonction pour comprendre l'utilisation de la fonction et les avertissements possibles afin de pouvoir la juger et la gérer lors de son utilisation.
Pour résumer, il existe de nombreuses solutions à PHP Attention : argument non valide fourni pour foreach(). Lors de l'écriture de code PHP, vous devez accorder une attention particulière à la légalité des paramètres transmis à la fonction pour éviter des avertissements similaires.
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!