Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP中全局变量如何定义?如何声明?其作用是什么?(总结)

PHP中全局变量如何定义?如何声明?其作用是什么?(总结)

慕斯
慕斯asal
2021-06-03 17:59:144102semak imbas

上篇文章给大家介绍了《鲜为人知的函数变量作用域(实现步骤)》,本文继续给大家介绍全局变量如何定义?如何声明?起作用是什么?一起学习吧!

PHP中全局变量如何定义?如何声明?其作用是什么?(总结)

全局变量:

  • 普通变量:普通变量是指函数外部声明的变量,其作用范围是整个页面的部分,而函数的内部无法使用;

  • 全局变量:在函数的内部和外部都可以访问和使用的变量就是全局变量;

<?php
     /****** 普通变量*/
     $pome = &#39;你最喜欢的唯美古诗词有哪些?&#39;;
     function pome(){
         echo $pome;
     }
     pome();
  
  
?>

演示结果:

8.JPG

代码解析:

定义一个function,pome(),紧接着我们能否使用函数外部定义变量呢?根据我们代码运行的结果可以看出并不行,结果依旧显示未定义,也就是说,当我们在函数内部定义变量然后输出(echo),结果会出现我们没有定义此变量,因此我们知道,普通变量是指函数外部声明的变量,其作用范围是整个页面的部分,而函数的内部无法使用;

代码演示如下:

<?php
     /****** 普通变量*/
     $pome = &#39;你最喜欢的唯美古诗词有哪些?&#39;;
     function pome(){
         echo $pome;
     }
     pome();
     echo $pome;
     
  
   
?>

17.JPG

代码解析:

首先在函数的外部定义一个变量,接着,在函数内部定义一个函数function demo(),如果我们想做出全局变量我们需要在函数内部声明一个与外部同名的变量,声明完变量,我们需要使用一个关键字叫做(global),来声明一个与外部同名的变量,此时就是一个全局变量,最后输出(echo)此内容,演示代码如下:

<?php
     /****** 全局变量*/
     $str = &#39;树叶落到木地板上,说了一句,我喜欢你&#39;;
     function demo(){
         global $str;
         echo $str;
     }
  demo();
   
?>

18.JPG

当我们在函数内部尝试改变$str的值,是怎么样的?演示代码如下:

<?php
     /****** 全局变量*/
     $str = &#39;树叶落到木地板上,说了一句,我喜欢你&#39;;
     function demo(){
         global $str;
         echo $str;
         $str = &#39;我也喜欢你&#39;;
     }
  echo &#39;这是第一个在函数外部输出:&#39;. $str;
  echo &#39;<hr/>&#39;;
  echo &#39;这是在函数内部输出&#39;.demo();
  echo &#39;<hr/>&#39;;
  echo &#39;这是第二个在函数外部输出:&#39;. $str;
?>

代码演示如下:

19.JPG

综上所示:

实现全局变量方法1:

  • 在函数内部具有一个变量

  • 在函数外部同样具有一个同名变量

  • 在函数内部的同名变量前使用global关键字修饰,既可以实现全局变量

注意:global声明全局变量是禁止赋值。

如果一个变量在函数内部已经赋值,之后使用global进行全局化声明,结果是该变量的值变为函数外部变量的值

实现全局变量方法2:

$GLOBALS

-在函数内部可以使用$GL0BALS[变量名 ]的方式直接调用函数外部的变量值,此时函数内外都可以使用,实现了另-种方式的

全局变量。

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci PHP中全局变量如何定义?如何声明?其作用是什么?(总结). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn