9
votes

Comment passer plus d'arguments à PHP Array_walk?

Je veux savoir comment passer plus d'arguments à mon Array_walk .. xxx

Comment puis-je passer des paramètres de toute façon? Je dois passer plus de 5 paramètres .. S'il vous plaît enseignez-moi .. merci!

php

0 commentaires

4 Réponses :


4
votes

Il n'autorise qu'un argument pour les données utilisateur. Je suggère de transmettre vos valeurs comme une matrice.

array_walk($addresses, array($this, '_handle'), array($a, $b));


0 commentaires

20
votes

Le troisième paramètre est un type de données mixte. Si vous avez de nombreux paramètres, je vous suggère de les mettre dans une matrice - peut-être un tableau associatif pour les nommer. Vous les tireriez alors retirez-les hors de ce param: xxx


2 commentaires

Ohh ok .. désolé je ne comprends pas le manuel PHP. il dit userdata et je n'ai aucune idée que c'est un tableau .. Merci Man


@Kevin: userData peut un tableau, cela peut être ce que vous voulez. Cela peut être un int, une chaîne, un objet, une matrice, etc. Un tableau est utilisé pour que vous puissiez avoir plusieurs valeurs.



5
votes

La fonction passée à array_walk () code> prend 2-3 paramètres.

  1. Valeur du tableau (comme référence, si nécessaire) li>
  2. TRAY KEY LI>
  3. Données personnalisées (facultatif) li> ol>

    passer plusieurs variables à Array_walk code> Passer un tableau. P>

    array_walk($addresses, array($this, '_handle'), array('a'=>$a, 'b'=>$b));
    
    private function _handle($address, $k, $data){
      echo $address;
      echo $data['a'];
      echo $data['b'];
    }
    


0 commentaires

2
votes

Vous pouvez utiliser le mot-clé Utiliser avec une fonction anonyme comme ceci:

Remarque: $ Custom_var est un type de données mixte afin que vous puissiez passer plusieurs valeurs xxx


1 commentaires

Merci, c'est ce que je cherchais, mais mal éditer votre réponse pour le rendre un peu plus clair