bonjour
Pouvez vous m'expliquer comme cela fonctionne
Le resultat est 6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo ( function($x) { return [$x, $x+1, $x+2]; })(4)[2];
Merci
Bonne journée
bonjour
Pouvez vous m'expliquer comme cela fonctionne
Le resultat est 6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo ( function($x) { return [$x, $x+1, $x+2]; })(4)[2];
Merci
Bonne journée
Bonjour,
1- Après test, il s'avère que ça fonctionne avec PHP 7 mais pas avec PHP 5.6.
function($x) définit une "fonction anonyme", avec un paramètre $x.
- Voir les fonctions anonymes.
2- C'est équivalent à :
Avec "4" en paramètre, l'array contient [4,5,6].
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function blabla($x) { return [$x, $x+1, $x+2]; // retourne un array de 3 valeurs } echo blabla(4)[2]; // [2] : affiche la 3ème valeur de l'array (l'index commence à 0)
[2] : la 3ème valeur de l'array (l'index commence à 0) est donc : 6.
Salut,
à cette étape : function($x) { return [$x, $x+1, $x+2]; }, tu ne fais que définir une fonction anonyme,
puis quand tu fais (function...)(4), tu exécutes la fonction : ici en une seule passe tu créé une fonction anonyme et tu l'exécutes immédiatement en lui passant le paramètre (4)enfin comme ta fonction renvoie un tableau tu peux directement extraire une valeur du résultat en spécifiant la clé, ici le [2] final. Cette étape fait appel au mécanisme de déréférencement de PHP. Par défaut tous les tableaux sont indexés à partir de 0
Quand tu maîtrises le PHP à un bon niveau, ce genre de syntaxe est très pratique car en peu d'instructions, tu obtiens ton résultat
Partager