php+局部变量,PHP局部变量

看你的说明头很 大!

//我是根目录的index.php

function get_header(){

require('./tpl/header.php');

}

function get_footer(){

require('./tpl/footer.php');

}

$a = "我是变量A";

require('./tpl/index.php'); 是作用域的问题,当你require('./tpl/header.php')时,其中定义的变量是在get_header()这个函数的作用域内,在其外面是访问不到的######确实是作用域的问题,解答的很清楚######回复

@卡卡罗特 : global######噢。那有什么解决法子没?还真第一次遇到。######变量作用域的问题了.######全局变量######如果是作用域的问题。那有什么方案解决呢? 我看wordpress程序也是把 需要的文件引入 写成 函数形式之类调用的的。######

header.php: footer.php:

无法显示$a是正常的, 因为变量不在函数体内.

tpl/index.php 应该会显示吧. ######

作用域的问题,框架设计的有问题。如果按你那么来,就要使用global了,不过这会很丑

$a=5;

function head(){

echo '我是页眉';

global $a;

echo $a;//函数范围里使用全局变量

echo '
';

}

head(); 设计理念太落后,建议更新知识库######只能用全局变量了.######

function(){}或foo(), 也就是方法定义或者调用, 都会引起变量局部的, 所以include/require的时候, 确保没有被function/class隔离, 就可以直接访问, 如: ######... 按错键盘.. a.php <?php $a=1; b.php <?php include a.php echo $a;######echo $GLOBALS['a'];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值