


Exemples détaillés de trois méthodes pour parcourir les tableaux list(), each() et while
Présente principalement le résumé des trois méthodes list(), each() et while de la boucle PHP traversant le tableau L'accent est mis sur l'utilisation mixte de ces trois méthodes.
Fonction ①each()
La fonction each() doit passer un tableau en paramètre, renvoyer la paire clé/valeur de l'élément actuel dans le tableau, et déplacez le pointeur du tableau vers l’arrière jusqu’à la position de l’élément suivant. Les paires clé/valeur sont renvoyées sous la forme d'un tableau associatif et indexé mixte avec 4 éléments, avec les clés 0, 1, clé et valeur. Le nom de clé 0 est identique à la valeur correspondant à key, qui est le nom de clé de l'élément du tableau, tandis que 1 et value contiennent la valeur de l'élément du tableau. Si le pointeur interne dépasse la fin du tableau, each() renvoie FALSE. L'utilisation de la fonction each() est la suivante :
<?php $contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",); $id = each($contact); //返回数组$contact中第一个元素的键/值对,是带有4个元素的数组 print_r($id); //输出数组$id:Array([1]=>1,[value]=>1,[0]=>ID,[key]=>ID) $name = each($contact); //返回数组$contact中的第二个元素的键/值对,是带有4个元素的数组 print_r($name); //输出Array([1]=>高某,[value]=>高某,[0]=>姓名,[key]=>姓名) $company = each($contact); print_r($company); //输出Array([1]=>A公司,[value]=>A公司,[0]=>公司,[key]=>公司) $address = each($contact); print_r($address); //输出Array([1]=>北京市,[value]=>北京市,[0]=>地址,[key]=>地址) $no = each($contact); var_dump($no); //输出bool(false) ?>
Fonction ②list()
Ce n'est pas une vraie fonction, mais une structure du langage PHP. list() attribue des valeurs à un ensemble de variables en une seule étape, c'est-à-dire attribue les valeurs du tableau à certaines variables. list() ne peut être utilisé qu'avec des tableaux indexés numériquement et suppose que les indices des tableaux commencent à 0. Le format de syntaxe est le suivant :
list(mixed varname,mixed…) = array_expression
L'utilisation de l'instruction list() est très différente des autres fonctions. Elle ne reçoit pas directement un tableau en paramètre. Au lieu de cela, la valeur de chaque élément du tableau est attribuée à chaque paramètre de la fonction list() par affectation via l'opérateur "=". La fonction list() convertit à son tour chaque paramètre en une variable pouvant être utilisée directement dans le script. L'utilisation est la suivante :
<?php $info = array('coffee','brown','caffeine'); list($drink,$color,$power) = $info; list($drink,,$power) = $info; //变量的值是数组中第一个和第三个值 list( , ,$power) = $info; //变量值是数组中第三个元素的值 ?>
Après avoir compris l'utilisation de la fonction list() à travers l'exemple ci-dessus, combinez la fonction each() avec la fonction list(). Le code est le suivant :
<?php $contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",); list($key,$value) = each($contact); echo "$key => $value"; //输出变量$key和$value,中间使用“=>”分割 ?>
③boucle while Parcourir le tableau
Utilisation des instructions each() et list() introduites plus tôt, il n'est pas difficile de comprendre si vous utilisez une boucle while pour parcourir le tableau. Le format de syntaxe utilisé est le suivant :
while(list($key,$value) = each(array_expression)){ 循环体 }
Ce format d'union traverse le tableau array_expression donné. Dans chaque boucle de l'instruction while(), l'instruction each() attribue la clé de l'élément actuel du tableau à la première variable paramètre $key de la fonction list(). Et attribuez la valeur dans l'élément actuel du tableau à la deuxième variable paramètre $value dans la fonction list(), et après l'exécution de l'instruction each(), le pointeur à l'intérieur du tableau sera reculé d'un pas, donc la prochaine fois while( ) Lorsque l'instruction boucle, la paire clé/valeur de l'élément suivant du tableau sera obtenue. Jusqu'à la fin du tableau, l'instruction each() renvoie FALSE, et l'instruction while() arrête la boucle et termine le parcours du tableau .
<?php $contact = array( "ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市", "电话" => "(010)98765432", "EMAIL" => "gao@brophp.com", ); //以HTML列表的方式输出数组中每个元素的信息 echo '<dl>一个联系人信息:'; while(list($key,$value) = each($contact)){ echo "<dd>$key : $value</dd>"; } echo '</dl>'; ?>
peut également être imbriqué pour parcourir un tableau multidimensionnel de la même manière. Bien que les résultats de la traversée du tableau soient les mêmes que ceux de l'instruction freach, il existe des différences entre les deux méthodes. Après avoir utilisé l'instruction while pour parcourir le tableau, l'instruction each() a pointé le pointeur interne du paramètre de tableau passé vers la fin du tableau. Lorsque l'instruction while est utilisée pour parcourir à nouveau le même tableau, le pointeur du tableau est déjà à la fin du tableau et l'instruction each() renvoie directement FALSE, et l'instruction while ne sera pas exécutée dans la boucle. Appelez uniquement la fonction reset() avant l'exécution de l'instruction while pour réinitialiser le pointeur du tableau sur le premier élément. L'instruction foreach réinitialisera automatiquement la position du pointeur du tableau. Lorsque foreach commencera à s'exécuter, le pointeur à l'intérieur du tableau pointera automatiquement vers la première unité. Cela signifie qu'il n'est pas nécessaire d'appeler la fonction reset() avant la boucle foreach.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

La méthode d'utilisation d'une boucle foreach pour supprimer les éléments en double d'un tableau PHP est la suivante : parcourez le tableau, et si l'élément existe déjà et que la position actuelle n'est pas la première occurrence, supprimez-le. Par exemple, s'il existe des enregistrements en double dans les résultats de la requête de base de données, vous pouvez utiliser cette méthode pour les supprimer et obtenir des résultats sans enregistrements en double.

Java est un langage de programmation populaire doté de puissantes capacités de gestion de fichiers. En Java, parcourir un dossier et obtenir tous les noms de fichiers est une opération courante, qui peut nous aider à localiser et traiter rapidement les fichiers dans un répertoire spécifique. Cet article explique comment implémenter une méthode permettant de parcourir un dossier et d'obtenir tous les noms de fichiers en Java, et fournit des exemples de code spécifiques. 1. Utilisez la méthode récursive pour parcourir le dossier. Nous pouvons utiliser la méthode récursive pour parcourir le dossier. La méthode récursive est un moyen de s'appeler, qui peut parcourir efficacement le dossier.

La comparaison des performances des méthodes de retournement des valeurs de clé de tableau PHP montre que la fonction array_flip() fonctionne mieux que la boucle for dans les grands tableaux (plus d'un million d'éléments) et prend moins de temps. La méthode de la boucle for consistant à retourner manuellement les valeurs clés prend un temps relativement long.

Les méthodes de copie approfondie de tableaux en PHP incluent : l'encodage et le décodage JSON à l'aide de json_decode et json_encode. Utilisez array_map et clone pour créer des copies complètes des clés et des valeurs. Utilisez Serialize et Unsérialize pour la sérialisation et la désérialisation.

Le tri des tableaux multidimensionnels peut être divisé en tri sur une seule colonne et en tri imbriqué. Le tri sur une seule colonne peut utiliser la fonction array_multisort() pour trier par colonnes ; le tri imbriqué nécessite une fonction récursive pour parcourir le tableau et le trier. Les cas pratiques incluent le tri par nom de produit et le tri composé par volume de ventes et prix.

La meilleure pratique pour effectuer une copie complète d'un tableau en PHP consiste à utiliser json_decode(json_encode($arr)) pour convertir le tableau en chaîne JSON, puis à le reconvertir en tableau. Utilisez unserialize(serialize($arr)) pour sérialiser le tableau en chaîne, puis désérialisez-le en un nouveau tableau. Utilisez RecursiveIteratorIterator pour parcourir de manière récursive des tableaux multidimensionnels.

La fonction array_group_by de PHP peut regrouper des éléments dans un tableau en fonction de clés ou de fonctions de fermeture, renvoyant un tableau associatif où la clé est le nom du groupe et la valeur est un tableau d'éléments appartenant au groupe.

L'algorithme de fusion et de déduplication de tableaux PHP fournit une solution parallèle, divisant le tableau d'origine en petits blocs pour un traitement parallèle, et le processus principal fusionne les résultats des blocs à dédupliquer. Étapes algorithmiques : divisez le tableau d'origine en petits blocs également alloués. Traitez chaque bloc pour la déduplication en parallèle. Fusionnez les résultats du bloc et dédupliquez à nouveau.
