Comment supprimer les valeurs nulles des tableaux PHP : 1. Utilisez la méthode "foreach($arr as $k=>$v){...}" pour supprimer les valeurs nulles du tableau 2. Utilisez le while ; structure syntaxique pour supprimer les valeurs nulles ; 3. Utilisez la fonction array_filter pour filtrer le tableau et supprimer les valeurs nulles.
L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3
Comment supprimer null d'un tableau en php ?
Introduction à la méthode de suppression des valeurs nullesdans un tableau en PHP
C'est gênant de dire que dans le passé, lors de la suppression des valeurs nullesd'un tableau, foreach ou while étaient forcés à utiliser. Ces deux structures syntaxiques ont été utilisées pour supprimer les éléments vides du tableau. Le code simple est le suivant :
Le code est le suivant :
<?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); } ?>
Et je me sens plutôt bien, mais ce n'est pas très efficace. Si vous l'avez déjà essayé, convertissez d'abord $arr en objet, puis utilisez les caractéristiques de l'objet pour le supprimer, car : foreach Il copie le tableau actuellement utilisé. Chaque fois qu'un foreach est utilisé, une variable est copiée s'il y en a. trop de foreachs sur la page, ce sera un gros gaspillage.
Lorsque je me promenais sur Internet, j'ai été surpris de voir quelqu'un suggérer d'utiliser array_filter. J'ai ouvert le manuel et j'y ai jeté un coup d'œil, et j'ai découvert que j'avais gardé une montagne au trésor mais que je ne savais pas comment l'utiliser.
La fonction de la fonction array_filter est d'utiliser la fonction de rappel pour filtrer le tableau. J'ai toujours pensé que la fonction de rappel pouvait être utilisée pour le traiter, mais je n'ai pas trouvé qu'il y avait une autre phrase dans le manuel. n'est pas une fonction de rappel, la valeur par défaut est de supprimer les éléments avec une valeur false dans le tableau.
Le code est le suivant :
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
La valeur de sortie est :
Le code est le suivant :
Array ( [0] => foo [2] => -1 )
Il semble que j'ai encore besoin de lire plus de manuels à l'avenir... tout comme array_slice, c'est aussi une bonne chose. Dommage que je ne l'ai jamais remarqué auparavant.
Pièce jointe : Un autre exemple
Le code est le suivant :
$strDelCodes = "A;B;;C;;C;D;;;D;D"; $rsArray = array_values (array_unique (array_diff (split (";", $strDelCodes), array (""))));
Les valeurs stockées dans le tableau $rsArray sont : A B C D
La fonction array_values() renvoie un tableau contenant toutes les valeurs clésdans le donné tableau, mais ne conserve pas les noms de clés. La fonction
array_diff() renvoie le tableau de différence de deux tableaux. Ce tableau contient toutes les clés qui se trouvent dans le tableau comparé, mais ne figurent dans aucun des autres tableaux d'arguments. La fonction
array_unique() supprime les valeurs en double d'un tableau et renvoie le tableau résultant. Lorsque les valeurs de plusieurs éléments du tableau sont égales, seul le premier élément est conservé et les autres éléments sont supprimés.
Les noms de clés dans le tableau renvoyé restent inchangés. La fonction
array_merge() fusionne deux ou plusieurs tableaux en un seul tableau.
S'il y a des noms de clé en double, la valeur de clé de la clé sera la valeur correspondant au dernier nom de clé (le dernier écrasera le précédent). Si le tableau est indexé numériquement, les noms de clés sont réindexés consécutivement.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!