摘要:PHP变量类型有哪些?标准类型: 整数(interger) 浮点数(float) 布尔型(bool),字符串(string) 复合类型:数组(array) 对象(object) 特殊类型:NULL(null)资源类型(resource) &nbs
PHP变量类型有哪些?
标准类型: 整数(interger) 浮点数(float) 布尔型(bool),字符串(string)
复合类型:数组(array) 对象(object)
特殊类型:NULL(null)资源类型(resource)
2. 什么是作用域
全局作用域:从脚本开始,到脚本结束都有效
函数作用域:仅在函数有效,也叫局部作用域
不受作用域影响的变量:系统预定义变量,常量
3.什么是常量
1.常量的本质:就是只读变量,一旦定义,能修改,不能删除
2.常量定义:函数定义define('常量名','常量值') //常量名推荐大写
3.作用域:不受作用域影响
------------------------------------------------------------------------
变量的定义位置
1.局部变量
也就是在函数内部定义的变量如下 只能在函数内部访问
function demo()
{
$name = 'tom';
return $name;
}
//在外部访问
echo $name; //错误
//在函数内部访问
echo demo(); // tom2.全局变量:在函数外部定义的变量如下
$name2 = 'jack';
function demo2()
{
return $name2 ? : '访问失败';
}
echo demo2(); //不可访问
echo $name2; //jack 3.在函数的参数列表中定义变量如下 其实就是局部变量
function demo3()
{
$str3 = func_get_arg(0); //可以获得当前参数列表中的变量
$str4 = func_get_arg(1);
return $str3.'和'.$str4;
}
echo demo3('sam','marry');总结:
在函数外部定义的变量是全局变量只能在函数外部访问
在函数内部定义的变量是局部变量只能在函数内部访问
在函数的参数列表中声明的变量也是局部变量,也只能在函数内部访问
如何在函数内访问一个全局变量
有三种方式来创建全局变量
global 关键字来创建 例如 global $name
$GLOBALS 来使用 $name = $GLOBALS['name'];并且在函数中不用声明可以直接用
将函数外部的变量传入到函数内 就可以使用了
变量的访问
单值变量由变量名来访问 $name;
复合变量是引用类型,由变量名+索引访问 $arr['name'];
什么是作用域?
函数可以创建一个作用域
变量的访问受到作用域的影响
php只存在函数作用域(块作用域不存在)如下:
$faction = '斧头帮';
//声明一个局部作用域
function miss($belle)
{
global $faction;
// return $faction; //斧头帮
// return $faction.'琛哥日夜思念着'.$belle;
return $GLOBALS['faction'].$_GET['name'].'日夜思念着'.$belle;
}
echo miss('琛嫂'); //斧头帮琛哥日夜思念着琛嫂超全局变量:系统预定义的变量 访问不受限制 如下:
echo '当前的文件名'.$_SERVER['SCRIPT_FILENAME'];
常量:不受作用域限制
1.定义一个常量
函数方法:define('FACTION','青云门');
关键字方法: const USER_NAME='张小凡';
2.访问
echo FACTION,'的大弟子'.USER_NAME,'<br>'; //常量的本质就是一个只读变量
"不能修改,不能删除!!"
define()和const 的区别 define常量值可以传参
$price = 1000;
define('BOOK',$price); //常量值可以传参
const BOOK = $price; //报错
//const 可以声明类常量
class Test1
{
const NAME = 'Tom'; //
define('NAME','Tom'); //报错! 不可以在类使用
}
echo Test1::NAME 通过[类名::常量名]来访问类里常量
批改老师:天蓬老师批改时间:2018-11-18 16:24:56
老师总结:作业总结的很全面,结构清晰,示例完整,合格。