mot-clé global et utilisation de $GLOBALS en php

怪我咯
Libérer: 2023-03-10 20:28:01
original
5950 Les gens l'ont consulté

Tout d'abord, regardons un morceau de code

<?php
$a  =  1 ;  /* global scope */

function  Test ()
{
    echo  $a ;  /* reference to local scope variable */
}

Test ();
?>
Copier après la connexion

Ce script n'aura aucune sortie, car l'instruction echo fait référence à une version locale de la variable $a, et c'est dans ce cadre, aucune valeur ne lui est attribuée. Vous remarquerez peut-être que les variables globales de PHP sont un peu différentes du langage C. En langage C, les variables globales prennent automatiquement effet dans les fonctions à moins qu'elles ne soient remplacées par des variables locales. Cela peut poser des problèmes, quelqu'un peut accidentellement modifier une variable globale. Les variables globales en php doivent être déclarées globales lorsqu'elles sont utilisées dans des fonctions.

mot-clé global

Tout d'abord, un exemple d'utilisation de global, le code est le suivant :

<?php
$a  =  1 ;
$b  =  2 ;

function  Sum ()
{
    global  $a ,  $b ;

     $b  =  $a  +  $b ;
}

Sum ();
echo  $b ;
?>
Copier après la connexion

La sortie du script ci-dessus sera "3". Une fois les variables globales $a et $b déclarées dans une fonction, toutes les références à l'une ou l'autre variable pointeront vers sa version globale. PHP n'a pas de limite sur le nombre maximum de variables globales qu'une fonction peut déclarer.

La deuxième façon d'accéder aux variables dans la portée globale consiste à utiliser un $GLOBALS array personnalisé PHP spécial. L'exemple précédent peut s'écrire :

Exemple n°2 Utilisez $GLOBALS au lieu de global, le code est le suivant :

<?php
$a  =  1 ;
$b  =  2 ;

function  Sum ()
{
     $GLOBALS [ &#39;b&#39; ] =  $GLOBALS [ &#39;a&#39; ] +  $GLOBALS [ &#39;b&#39; ];
}

Sum ();
echo  $b ;
?>
Copier après la connexion

$GLOBALS est un tableau associatif, chaque variable est un élément, et le nom de la clé correspond Nom de la variable, la valeur correspond au contenu de la variable. La raison pour laquelle $GLOBALS existe dans la portée globale est que $GLOBALS est une variable superglobale. L'exemple suivant montre l'utilisation de variables superglobales :

Exemple n° 3 Exemple illustrant les variables superglobales et leur portée

<?php
function  test_global ()
{
     // 大多数的预定义变量并不 "super",它们需要用 &#39;global&#39; 关键字来使它们在函数的本地区域中有效。
     global  $HTTP_POST_VARS ;
    echo  $HTTP_POST_VARS [ &#39;name&#39; ];
     // Superglobals 在任何范围内都有效,它们并不需要 &#39;global&#39; 声明。Superglobals 是在 PHP 4.1.0 引入的。
     echo  $_POST [ &#39;name&#39; ];
}
?>
Copier après la connexion

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