PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

慕斯
慕斯 原创
2021-06-03 17:59:14 3807浏览

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

全局变量:

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

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

<?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视频教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。