这个很简单哈,比如a.php 和 b.php 两个文件,如果b.php文件中想用a.php文件中的一些变量,直接再b.php文件中include 'a.php' 或者 require 'a.php',这样就可以直接再 b.php里面调用a.php文件中的一些变量和函数了
网站制作、建网站找专业的建站公司创新互联公司:定制网站、模板网站、仿站、小程序制作、软件开发、重庆App定制开发等。做网站价格咨询创新互联公司:服务完善、十载建站、值得信赖!网站制作电话:13518219792
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index2.php,定义一个变量。
2、在index.php中,输入代码:include "index2.php";echo $a;。
3、浏览器运行index.php页面,此时会发现打印出了另一个PHP文件的变量。
★ PHP变量是有作用域(指定的有效范围)的:
函数内声明的变量只对该函数有效,出了函数的范围就会无效;
同理在函数以外声明的变量在函数中访问也是无效的;
函数内的变量跨函数访问也是无效的。
★ 问题推测:
听你上面说的情况,你的$username变量应该声明在函数或者类里边,然后从函数外访问;或者声明在函数外,但从函数中进行访问了。
★ 解决方法:
函数中的变量要想让其全局有效必须得在变量前面加global关键字声明成全局变量才可以在函数以外访问到;同理在函数外声明的函数如果想要在函数中来访问,也要使用global关键字来声明为全局变量。
★关于php变量作用域的示范:
举例有php文件b.php如下:
?php
function func1(){
global $a2;
$a1 = 'var a1 In file b function func1';
$a2 = 'var a2 In file b function func1';
}
?
然后有php文件a.php如下:
?php
error_reporting(0); //关闭错误报告
include('b.php'); //引用b.php
$a3 = 'var a3 In file a out of function';
$a4 = 'var a4 In file a out of function';
function func2(){
global $a5;
$a5 = 'var a5 In file a function func2';
$a6 = 'var a6 In file a function func2';
}
function func3(){
echo 'print var $a1 to $a6 in function func3:br';
var_dump($a1);
var_dump($a2);
var_dump($a3);
var_dump($a4);
var_dump($a5);
var_dump($a6);
}
function func4(){
echo 'print var $a1 to $a6 in function func4:br';
global $a1;
global $a2;
global $a3;
global $a4;
global $a5;
global $a6;
var_dump($a1);
var_dump($a2);
var_dump($a3);
var_dump($a4);
var_dump($a5);
var_dump($a6);
}
echo 'print var $a1 $a2 $a5 $a6 in file a:br/';
var_dump($a1);
var_dump($a2);
var_dump($a5);
var_dump($a6);
func3();
func4();
func1();
func2();
echo 'print var $a1 $a2 $a5 $a6 in file a(after call func1 and func2):br/';
var_dump($a1);
var_dump($a2);
var_dump($a5);
var_dump($a6);
func3();
func4();
?
执行a.php后就会输出:
print var $a1 $a2 $a5 $a6 in file a: !--$a1 $a2 $a5 $a6都被声明在函数中,此时因为函数未被调用,所以都无法正确取值--
null
null
null
null
print var $a1 to $a6 in function func3: !--$a1 $a2 $a5 $a6同上,$a3和$a4因为在函数外声明所以全部无法正确取值--
null
null
null
null
null
null
print var $a1 to $a6 in function func4: !--$a1 $a2 $a3 $a4同上,$a3和$a4用global声明为全局了,所以可以正确取值--
null
null
string 'var a3 In file a out of function' (length=32)
string 'var a4 In file a out of function' (length=32)
null
null
print var $a1 $a2 $a5 $a6 in file a(after call func1 and func2): !--在执行func1和func2之后被关键字声明为全局变量的$a2和$a5可以被正确取值--
null
string 'var a2 In file b function func1' (length=31)
string 'var a5 In file a function func2' (length=31)
null
print var $a1 to $a6 in function func3: !--因为所有变量不是声明在函数func3外就是被声明在其他函数中,所以都无法正确取值--
null
null
null
null
null
null
print var $a1 to $a6 in function func4: !--除了在其它函数内未被声明为全局的$a1和$a6,其他变量均被正确取值--
null
string 'var a2 In file b function func1' (length=31)
string 'var a3 In file a out of function' (length=32)
string 'var a4 In file a out of function' (length=32)
string 'var a5 In file a function func2' (length=31)
null
上面的代码可以让你很好的理解变量作用域的规则。
★ 资料参考
更多的变量作用域资料请参考
数据类型有三种:
1.标量数据类型
标量数据类型包括以下几种。
(1)boolean:布尔型
布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
单引号方式,
双引号方式,
Heredoc方式。
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
3.特殊数据类型
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。