广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >global中php不起作用的解决方法
  • 773
分享到

global中php不起作用的解决方法

2023-06-08 01:06:19 773人浏览 八月长安
摘要

小编给大家分享一下global中PHP不起作用的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php global不起作用的解决办法:1、减少多层次的in

小编给大家分享一下global中PHP不起作用的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

php global不起作用的解决办法:1、减少多层次的include调用,也尽量不要在函数内使用include;2、在相应的页面中将“$site_name”进行全局变量形式的声明。

php global变量无效?

对于PHP初学者而言,在使用global关键字时,可能会发现,在函数内global一个函数外的变量,在某些情况下却无法正确输出该变量(即global变量无效)。下面我们来看一个简单而常见的例子。

在这里,我们有a.php和b.php两个页面。

b.php页面代码如下:

 <?php$site_name = 'CodePlayer';function sayHi(){    global $site_name;    echo "Hello! Welcome to $site_name !";}?>

a.php页面代码如下:

 <?phpfunction include_view_page(){    include 'b.php';    sayHi();                    }include_view_page();?>

上面的例子非常简单,我们希望当我们访问a.php页面,能够正确显示出欢迎语句。不过,遗憾的是,当我们使用浏览器访问a.php页面却发现输出结果如下:

Hello! Welcome to !

【推荐学习:《PHP视频教程》】

也就是说,我们在函数include_view_page()中调用sayHi()函数时,b.php页面sayHi()函数中global$site_name却没有被正确识别、生效。这究竟是怎么一回事呢?

实际上,当我们在函数include_view_page()include b.php页面时,b.php页面的变量$site_name就相当于存放在include_view_page()函数内的作用域中。众所周知,在函数内global一个变量实际上是在函数内建立一个对页面全局变量的引用。而在我们的例子中,这个$site_name变量对于a.php而言,它只是include_view_page()函数内的局部变量,因此无法global该变量,我们进行相关调用时自然无法获取到正确的变量和变量值。

在php中,我们尤其需要注意类似上述在函数内include某个页面,导致该页面中变量的作用域发生改变的问题。为了避免这种情况,我们应该尽量减少多层次的include调用,也尽量不要在函数内使用include。此外,我们还可以在b.php的页面中将$site_name进行全局变量形式的声明。

//b.php<?phpglobal $site_name;$site_name = 'CodePlayer';function sayHi(){    global $site_name;    echo "Hello! Welcome to $site_name !";}?>

以上是“global中php不起作用的解决方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: global中php不起作用的解决方法

本文链接: https://www.lsjlt.com/news/250631.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • global中php不起作用的解决方法
    小编给大家分享一下global中php不起作用的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php global不起作用的解决办法:1、减少多层次的in...
    99+
    2023-06-08
  • PHP中ini_set不起作用的解决方法
    这篇文章将为大家详细讲解有关PHP中ini_set不起作用的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP ini_set不起作用的解决办法:1、修改htaccess文件;2、在httpd....
    99+
    2023-06-22
  • css中top不起作用的解决方法
    这篇文章主要介绍css中top不起作用的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css top不起作用是因为“position”属性的值为“static”,那么设置“top”属性就不会产生任何效果,其解...
    99+
    2023-06-14
  • jquery data不起作用的解决方法
    小编给大家分享一下jquery data不起作用的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • CSS样式不起作用的解决方法
    这篇文章主要介绍CSS样式不起作用的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浏览器缓存问题如果你反复检查认为代码没有问题,那么可能是浏览器缓存的问题。在排查前先试一下清除浏览器缓存,重启浏览器或者换个浏...
    99+
    2023-06-08
  • CentOS下.htaccess不起作用的解决方法
    结果点击一个链接直接404 Not Found。悲剧,看来Apache的Rewrite部分有问题了,完全无视掉了.htaccess文件!经过检查Apache的模块,发现Rewrite...
    99+
    2022-11-21
    .htaccess 不起作用
  • jquery中show()方法不起作用怎么解决
    这篇“jquery中show()方法不起作用怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2022-10-19
  • linux配置php.ini不起作用的解决方法
    这篇文章主要介绍linux配置php.ini不起作用的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!linux配置php.ini不起作用的解决办法:1、将php.ini放到指定目录下;2、开启命令时使用“-c...
    99+
    2023-06-15
  • string的replace方法不起作用怎么解决
    如果string的replace方法不起作用,可能是由于以下几个原因: 传入的参数有误:确保你正确地传入了要替换的字符串和替换后...
    99+
    2023-10-25
    string
  • @JsonSerialize不起作用的解决方案
    目录@JsonSerialize不起作用在项目中 当字段实体类为Long类型时但是这里有个小坑@JsonSerialize正确使用1. 写一个负责转换的类2. 在实体类上需要装换的字...
    99+
    2022-11-12
  • Spring AOP对嵌套方法不起作用的解决方法
    本篇文章为大家展示了Spring AOP对嵌套方法不起作用的解决方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Spring AOP对嵌套方法不起作用今天在调研系统操作记录日志时,好多教...
    99+
    2023-06-22
  • SpringBoot Shiro 权限注解不起作用的解决方法
    目录问题如下:解决方法如下:最近在学习springboot结合shiro做权限管理时碰到一个问题。 问题如下: 我在userRealm中的doGetAuthorizationInfo...
    99+
    2022-11-12
  • Spring AOP对嵌套方法不起作用的解决
    目录Spring AOP对嵌套方法不起作用要解决这个问题Spring AOP、嵌套调用失效及解决加入注解获取当前代理的接口需要嵌套调用的Service实现它调用的时候改写代码Spri...
    99+
    2022-11-12
  • 解决swagger2中@ApiResponse的response不起作用
    目录swagger可以生成比较友好的在线API说明文档我们用的是swagger2swagger可以生成比较友好的在线API说明文档 友好的API说明重要性不言而喻,因为所谓API,肯...
    99+
    2022-11-13
  • win8联想一键影音不起作用解决方法
    Win7下使用一键影音功能时,原本在屏幕底部中间位置会有模式状态条显示,而在电脑改装Win8系统后,一键影音按钮不起作用了。原因分析:Win8系统下,一键影音功能取消了在屏幕显示模式状态转换条,看不到提示条...
    99+
    2022-06-04
    解决方法 一键 不起作用
  • windows下使用redis requirepass认证不起作用的解决方法
    因为windows下面使用redis 有两个配置文件 分别是 redis.windows.conf和 redis.windows-service.conf 由于启动时候没有指定配置文件所以我们需要指定配置文...
    99+
    2022-10-18
  • 如何解决php header不起作用的问题
    本篇内容介绍了“如何解决php header不起作用的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php header不起作用的方法:...
    99+
    2023-06-20
  • 解决@Cacheable在同一个类中方法调用不起作用的问题
    @Cacheable在同一类中方法调用无效 上述图片中,同一个类中genLiveBullets()方法调用同类中的queryLiveByRoom()方法,这样即便标识了Cachea...
    99+
    2022-11-12
  • spring boot ${}占位符不起作用的解决方案
    spring boot ${}占位符不起作用 问题: 在 pom.xml 文件里定义好属性标签,然后在 properties或者xml 中使用${key}引用,打包之后就会自动替换掉...
    99+
    2022-11-12
  • js中onbeforeunload不起作用怎么解决
    如果在JavaScript中使用`onbeforeunload`事件,但发现它不起作用,则可能有以下几种原因和解决方法:1. 浏览器...
    99+
    2023-08-30
    js
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作