Maison développement back-end tutoriel php Solution à l'avertissement PHP : argument non valide fourni pour array_filter()

Solution à l'avertissement PHP : argument non valide fourni pour array_filter()

Jun 22, 2023 am 09:07 AM
php 解决方法 array_filter()

PHP est un langage de script largement utilisé qui fournit un support puissant pour le développement de sites Web. Cependant, vous pouvez rencontrer des difficultés lorsque des erreurs surviennent lors de l'utilisation de PHP. L'une des erreurs courantes est l'erreur « Avertissement PHP : argument non valide fourni pour array_filter() ».

Cette erreur se produit généralement lors de l'utilisation de la fonction array_filter() en PHP. Cette fonction est utilisée pour filtrer les éléments du tableau et renvoyer un nouveau tableau d'éléments répondant aux critères. Cependant, si vous utilisez cette fonction avec des arguments qui ne répondent pas à certaines exigences, une erreur se produira.

Ci-dessous, nous aborderons trois solutions possibles pour résoudre ce problème.

Solution 1 : Vérifiez le tableau à l'aide de la fonction array_filter()

Tout d'abord, vous devez vérifier le tableau à l'aide de la fonction array_filter(). Si le tableau n’est pas un vrai tableau, alors cette fonction échouera. Assurez-vous que le tableau est bien un tableau et non un objet ou un autre type de variable. Pour vérifier si le tableau est correct, vous pouvez utiliser la fonction var_dump() pour afficher le tableau.

Par exemple :

$arr = "this is a string";
var_dump($arr);
Copier après la connexion

Le code ci-dessus affichera :

string(16) "this is a string"
Copier après la connexion

Cela indique que la variable $arr n'est pas un tableau, mais une chaîne . Si vous souhaitez filtrer un tableau à l'aide de la fonction array_filter(), vous devez vous assurer que la variable $arr est un tableau.

Solution 2 : Vérifiez la fonction de rappel à l'aide de la fonction array_filter()

Le deuxième facteur à vérifier est la fonction de rappel. La fonction array_filter() a une fonction de rappel en paramètre. Cette fonction de rappel est utilisée pour tester chaque élément du tableau afin de déterminer s'il doit être conservé. Si la fonction de rappel renvoie TRUE, l'élément reste dans le nouveau tableau. Si la fonction de rappel renvoie FALSE, l'élément sera filtré.

La fonction de rappel doit être définie de la manière suivante :

function functionName($value) {
  // your code here
  return $value;
}
Copier après la connexion

Le nom de la fonction peut être personnalisé, mais elle doit prendre $value comme paramètre et renvoyer une valeur. Si la fonction de rappel ne répond pas à ces exigences, une erreur « Avertissement PHP : argument non valide fourni pour array_filter() » se produira.

Solution trois : utilisez la fonction isset() pour vérifier les variables utilisées dans la fonction de rappel

La troisième chose à vérifier est si les variables utilisées dans la fonction de rappel sont définies . Si la fonction de rappel tente d'utiliser une variable non définie, une erreur "Avertissement PHP : argument non valide fourni pour array_filter()" se produira. Assurez-vous que les variables sont toujours définies et définies sur des valeurs spécifiques dans la fonction de rappel.

Par exemple :

$num = 5;
$array = array(1,2,3,4,5);

// This callback function generates an error
function odd($var)
{
  return ($var % $num == 1);
}

// This callback function works properly
function odd_fixed($var)
{
  global $num;
  return ($var % $num == 1);
}

$result = array_filter($array, "odd");
$result_fixed = array_filter($array, "odd_fixed");
Copier après la connexion

Dans le code ci-dessus, la fonction de rappel odd() génère une erreur "Avertissement PHP : argument non valide fourni pour array_filter()" car elle tente de utilisez la variable $num non définie. Au lieu de cela, la fonction de rappel odd_fixed() utilise le mot-clé global pour définir la variable $num et garantit que sa valeur est toujours définie. Par conséquent, la fonction odd_fixed() fonctionne sans erreur.

Résumé

Lors de l'utilisation de la fonction array_filter() de PHP, vous pouvez rencontrer l'erreur « Avertissement PHP : argument non valide fourni pour array_filter() ». Cette erreur peut être provoquée par l'utilisation d'un tableau incorrect, d'une fonction de rappel incorrecte ou d'une variable non définie utilisée dans la fonction de rappel. Ce problème peut être facilement résolu en vérifiant ces paramètres.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que la contrefaçon de demande inter-sites (CSRF) et comment implémentez-vous la protection CSRF dans PHP? Qu'est-ce que la contrefaçon de demande inter-sites (CSRF) et comment implémentez-vous la protection CSRF dans PHP? Apr 07, 2025 am 12:02 AM

En PHP, vous pouvez prévenir efficacement les attaques du CSRF en utilisant des jetons imprévisibles. Les méthodes spécifiques comprennent: 1. Générer et intégrer les jetons CSRF dans la forme; 2. Vérifiez la validité du jeton lors du traitement de la demande.

Comment pouvez-vous empêcher une classe d'être prolongée ou une méthode d'être remplacée en PHP? (mot-clé final) Comment pouvez-vous empêcher une classe d'être prolongée ou une méthode d'être remplacée en PHP? (mot-clé final) Apr 08, 2025 am 12:03 AM

Dans PHP, le mot-clé final est utilisé pour empêcher les classes d'être héritées et les méthodes écrasées. 1) Lors du marquage de la classe comme final, la classe ne peut pas être héritée. 2) Lors du marquage de la méthode comme final, la méthode ne peut pas être réécrite par la sous-classe. L'utilisation de mots clés finaux garantit la stabilité et la sécurité de votre code.

Impossible de se connecter à MySQL en tant que racine Impossible de se connecter à MySQL en tant que racine Apr 08, 2025 pm 04:54 PM

Les principales raisons pour lesquelles vous ne pouvez pas vous connecter à MySQL en tant que racines sont des problèmes d'autorisation, des erreurs de fichier de configuration, des problèmes de mot de passe incohérents, des problèmes de fichiers de socket ou une interception de pare-feu. La solution comprend: vérifiez si le paramètre Bind-Address dans le fichier de configuration est configuré correctement. Vérifiez si les autorisations de l'utilisateur racine ont été modifiées ou supprimées et réinitialisées. Vérifiez que le mot de passe est précis, y compris les cas et les caractères spéciaux. Vérifiez les paramètres et les chemins d'autorisation du fichier de socket. Vérifiez que le pare-feu bloque les connexions au serveur MySQL.

Expliquez des types stricts (Declare (strict_types = 1);) en php. Expliquez des types stricts (Declare (strict_types = 1);) en php. Apr 07, 2025 am 12:05 AM

Les types stricts en PHP sont activés en ajoutant Declare (strict_types = 1); en haut du fichier. 1) Il force la vérification du type des paramètres de fonction et des valeurs de retour pour éviter la conversion de type implicite. 2) L'utilisation de types stricts peut améliorer la fiabilité et la prévisibilité du code, réduire les bogues et améliorer la maintenabilité et la lisibilité.

Comment supprimer le style par défaut dans la liste Bootstrap? Comment supprimer le style par défaut dans la liste Bootstrap? Apr 07, 2025 am 10:18 AM

Le style par défaut de la liste bootstrap peut être supprimé avec CSS Override. Utilisez des règles et sélecteurs CSS plus spécifiques, suivez le «principe de proximité» et le «principe de poids», en remplacement du style par défaut de bootstrap. Pour éviter les conflits de style, des sélecteurs plus ciblés peuvent être utilisés. Si le remplacement est infructueux, ajustez le poids du CSS personnalisé. Dans le même temps, faites attention à l'optimisation des performances, évitez la surutilisation de! Importante et écrivez le code CSS concis et efficace.

Comment utiliser l'exportation par défaut dans Vue Comment utiliser l'exportation par défaut dans Vue Apr 07, 2025 pm 07:21 PM

Exportation par défaut dans Vue Revelows: Exportation par défaut, importez l'intégralité du module en même temps, sans spécifier de nom. Les composants sont convertis en modules au moment de la compilation et les modules disponibles sont emballés via l'outil de construction. Il peut être combiné avec des exportations nommées et exporter d'autres contenus, tels que des constantes ou des fonctions. Les questions fréquemment posées comprennent les dépendances circulaires, les erreurs de chemin et les erreurs de construction, nécessitant un examen minutieux du code et des instructions d'importation. Les meilleures pratiques incluent la segmentation du code, la lisibilité et la réutilisation des composants.

Que faire si la table bootstrap utilise Ajax pour faire grimper les données Que faire si la table bootstrap utilise Ajax pour faire grimper les données Apr 07, 2025 am 11:54 AM

Solutions à la table Bootstrap Code Bootstrap lors de l'utilisation de AJAX pour obtenir des données à partir du serveur: 1. Définissez le codage de caractères correct du code côté serveur (tel que UTF-8). 2. Définissez l'en-tête de demande dans la demande AJAX et spécifiez le codage des caractères accepté (accepte-charge). 3. Utilisez le convertisseur "Unescape" de la table bootstrap pour décoder l'entité HTML échappée en caractères originaux.

Le centrage d'image prend-il en charge le zoom d'image? Le centrage d'image prend-il en charge le zoom d'image? Apr 07, 2025 am 07:42 AM

Comment réaliser le centrage d'images et l'échelle dans Bootstrap: Utilisez D-Flex Justify-Content-Center pour centrer les images horizontalement. Utilisez Align-Items-Center et Fixed Parent Element Height Centrez verticalement l'image. Utilisez les attributs de largeur et de hauteur pour contrôler la taille de l'image, ou utilisez la largeur maximale et la hauteur maximale pour limiter la taille maximale. Utilisez la classe IMG-FLUID ou le mécanisme de conception réactif, tel que les requêtes multimédias, pour atteindre une mise à l'échelle réactive. Optimiser la taille de l'image, la mise à l'échelle de contrôle à l'aide de l'attribut d'objet-ajustement et suivre les meilleures pratiques pour assurer les performances et la maintenabilité.

See all articles