La différence d'utilisation entre la fonction array_map et la fonction array_walk en php

不言
Libérer: 2023-04-03 19:18:02
original
2456 Les gens l'ont consulté

Le contenu de cet article concerne la différence d'utilisation entre la fonction array_map et la fonction array_walk en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

array_map() :
1. La fonction array_map() applique la fonction définie par l'utilisateur à chaque valeur du tableau et renvoie la bande une fois la fonction définie par l'utilisateur appliquée. . Pour un tableau avec de nouvelles valeurs, s'il n'y a pas de valeur de retour après l'application de la fonction, le nouveau tableau de valeurs correspondant sera vide.
2. Le nombre de paramètres acceptés par la fonction de rappel doit être cohérent avec le nombre de tableaux passés à la fonction array_map().
3. Astuce : Vous pouvez saisir un ou plusieurs tableaux dans la fonction.

Si la fonction de phase entre deux tableaux, sa fonction doit également accepter deux paramètres. Lorsque map transmet une valeur à la fonction, elle en prend une parmi les deux tableaux à chaque fois et la transmet à la fonction
. Autrement dit, plusieurs tableaux sont soumis de manière synchrone. Au lieu de soumettre un tableau puis de soumettre le suivant
pour soumettre plusieurs tableaux, la fonction doit également avoir plusieurs paramètres

4. Syntaxe : array array_map ( callable <.>arr1 [, array $… ] )

Exemple :

<?php //单数组形式
function myfunction($v){
    if ($v==="Dog")
    {        
    return "Fido";
    }    
    return $v;
}
$a=array("Horse","Dog","Cat");
print_r(array_map("myfunction",$a));//多数组形式
function myfunction1($v1,$v2){
    if ($v1===$v2)
    {        
    return "same";
    }    
    return "different";
}
$a1=array("Horse","Dog","Cat");
$a2=array("Cow","Dog","Rat");
print_r(array_map("myfunction1",$a1,$a2));
?>
Copier après la connexion

array_walk() : 1. array_walk — Utilisez des fonctions définies par l'utilisateur pour effectuer un traitement de rappel sur chaque élément du tableau
2 Syntaxe : bool array_walk ( array &
< 🎜. >funcname [, Mixed $userdata = NULL ] )

Paramètres :

$array Le tableau d'entrée. Fonction de rappel $funcname, généralement $funcname accepte deux paramètres.

La valeur du paramètre $array est utilisée comme première et le nom de la clé est utilisé comme second.


$userdata Si le paramètre facultatif $userdata est fourni, il sera transmis à $funcname comme troisième paramètre.


Remarque :

Si $funcname doit agir directement sur les valeurs du tableau, spécifiez le premier paramètre de funcname comme référence (ajoutez l'esperluette) ). De cette façon

toute modification apportée à ces cellules modifiera également le tableau d'origine lui-même.



Valeur de retour :

Renvoie VRAI en cas de succès, ou FAUX en cas d'échec.


Exemple :

La routine ci-dessus affichera :
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");//传引用,改变了所传参数组
function test_alter(&$item1, $key, $prefix){
    $item1 = "$prefix: $item1";
}function test_print($item2, $key){
    echo "$key. $item2<br />\n";
}echo "Before ...:\n";//单数组
array_walk($fruits, &#39;test_print&#39;);//带额外参数
array_walk($fruits, &#39;test_alter&#39;, &#39;fruit&#39;);
echo "... and after:\n";
array_walk($fruits, &#39;test_print&#39;);
Copier après la connexion

Before ...:
d. lemon
a. orange
b. banana
c. apple ... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple
Copier après la connexion
Point clé :

map sert principalement à faire traiter le nouveau tableau par votre fonction de rappel. Ce que vous voulez, c'est le résultat.


walk utilise principalement votre fonction de rappel une fois pour chaque paramètre. Ce qui est important, c'est le processus de traitement.

walk peut être considéré comme fournissant des paramètres supplémentaires à la fonction de rappel, map ne peut pas

walk opère principalement sur chaque valeur du tableau, et le résultat de l'opération affecte principalement le tableau d'origine. sur le tableau. Après avoir opéré sur les valeurs du tableau, retournez le tableau pour obtenir un nouveau tableau

walk Il n'est pas nécessaire de renvoyer une carte de valeurs, car le tableau doit être rempli

Articles connexes recommandés :

Quelle est la différence entre la fonction include() et la fonction require() en PHP ?

PHP : array fonctions d'opération array_walk() et array_map()


La différence entre array_map, array_filter et array_walk en 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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!