Accorder aux fonctions l'accès à des variables externes
Votre question tourne autour de la fourniture à une fonction d'un accès à un tableau externe, lui permettant de modifier et d'ajouter valeurs. Par défaut, les fonctions n'ont pas d'accès direct aux variables définies en dehors de leur portée.
Pour accorder l'accès, vous pouvez utiliser le mot-clé global dans la fonction.
function someFunction(){ global $myArr; $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; }
Bien que cette approche accorde l'accès, l'utilisation de variables globales est généralement déconseillée car elle compromet l'indépendance de la fonction. Une technique plus préférable consiste à renvoyer le tableau modifié à partir de la fonction.
function someFunction(){ $myArr = array(); // At first, you have an empty array $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; // Put that $myVal into the array return $myArr; } $result = someFunction();
Vous pouvez également demander à votre fonction d'accepter le tableau comme paramètre et de le modifier par référence.
function someFunction(array & $myArr){ $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; // Put that $myVal into the array } $myArr = array( ... ); someFunction($myArr); // The function will receive $myArr, and modify it
Cette approche permet de conserver l'indépendance de la fonction tout en lui permettant d'opérer sur la baie externe. Pour plus d'informations, reportez-vous aux sections du manuel PHP sur les arguments de fonction et les valeurs de retour.
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!