Maison >développement back-end >tutoriel php >PHP utilise Global pour définir comment utiliser les variables globales

PHP utilise Global pour définir comment utiliser les variables globales

怪我咯
怪我咯original
2017-06-19 14:34:241500parcourir

Global est une commande spéciale en php. Nous l'appelons simplement une variable super globale Maintenant, permettez-moi de vous présenter comment j'ai utilisé Global pour définir des notes d'étude globales aujourd'hui

C'est très étrange. Habituez-vous à la portée des variables en PHP. En PHP, les variables de fonction et le monde global sont complètement isolés, c'est-à-dire qu'elles ne peuvent pas accéder les unes aux autres.
Par exemple :

Le code est le suivant :

$test = 123;
 abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}


Si vous souhaitez accéder aux variables externes à l'intérieur de la fonction, vous devez faire ceci :

Le code est le suivant :

$test = 123;
 abc(); //输出123
function abc(){
    global $test;
    echo($test);
}$test = 123;
abc(); //输出123
function abc(){
    global $test;
    echo($test);
}

Mais que se passe-t-il si on définit des variables globales dans la fonction, comme ceci :

Le code est comme suit :

function abc(){
    global $test;
    $test = 123;
}
abc();
echo($test); //输出123function abc(){
 global $test;
 $test = 123;
}
abc();
echo($test);


//Sortie 123 De cette façon, on peut accéder aux variables définies à l'intérieur de la fonction depuis l'extérieur
Dans la fonction personnalisée de l'utilisateur, une portée de fonction locale sera introduite. Toutes les variables utilisées à l'intérieur de la fonction seront limitées par défaut à la portée de la fonction locale (y compris les variables dans les fichiers importés par include et require)
Explication : Un Test_Global dans le . php est une fonction tierce définie. Cette fonction utilise include pour importer la variable globale globale de $a dans le fichier B.php, donc $a est limité à la portée de la fonction locale Test_Global, donc le fichier B.php. La portée de $a dans Test_Global est dans Test_Global, plutôt que dans l'intégralité de A.php...
Solution :
1 Décomposer la fonction locale
//A.php fichier

Le code est le suivant :

<?php
function Test_Global()
{  
    Test();  
}  
include &#39;B.php&#39;;   //将include 从局部Test_Global函数中移出
$a = 0 ;
Test_Global();
echo $a;
?> 
//B.php 文件
<?php
function Test()
{
    global $a;
    $a =1;
}
?>

2. Excellent accesseur

Le code est le suivant :

//A.php 文件
<?php
include &#39;B.php&#39;; 
$a =0;
Set_Global($a);
echo $a;
?> 
//B.php 文件
<?php
function Set_Global(&$var)
{
    $var=1;
}
?>


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!

Déclaration:
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