二.PHP程序中,哪些地方可以定义变量
1.函数内部:局部变量
2.函数外部:全局变量
3.函数参数列表中,局部变量
在函数内部创建时变量时局部变量,外部访问不到的
全局变量:在函数外部定义
$str2 = '我是demo2函数外部定义的变量$str2'; function demo2(){ return $str2 ? $str2 : '不可访问'; } //echo demo2(); echo $str2;
function demo3($str3){ return $str3; } echo demo3('杨过');
function demo4(){ $str3 = func_get_arg(0); return $str3; } echo demo4('小垄女');
------------------------------------------------------------------------------------------------------------------------------
三、如何在函数中访问全局变量
1、关键字:global
2、预定义变量:$GLOBAL
3、参数注入(传参):function($args){}
------------------------------------------------------------------------------------------------------------------------------
四、php中的变量类型有哪些?
1、标准类型:整数(interger),浮点数(float),布尔(bool),字符串(string)
2、复合类型:数组(array),对象(object)
3、特殊类型:NULL(null),资源(resource)
gettype()用于获取变量的类型
count() 返回数组元素的数目
is_null() 检测变量是否为null
fopen() 打开 文件或者url
标准类型,单值型,一个变量名对应一个值
字符串,整数,浮点数,布尔值
2.复合类型:数组array,对象object
数组:多个变量的集合,通过变量在集合中的索引来访问,索引是从0开始
对象:对象是内部封装了属性和方法的抽象类型,属性相当于变量,方法相当于函数
定义一个对象变量
$belle = new stdClass(); $belle ->age = 25; $belle->name = '傻张'; echo '姓名:'.$belle->name, ',年龄'.$belle->age;
$belle->cooking = function ($foods='小宾馆'){ return '小龙女和猥琐平在'.$foods.'滚床单'; }; //echo ($belle->cooking)(); echo call_user_func($belle->cooking,'豪华星级酒店总统套房'); echo '<hr>';
3.特殊类型:NULL,resource资源类型
//$file; //echo is_null($file) ? 'NULL' : '不是NULL'; //echo ($file === null) ? 'NULL' : '不是NULL';
$file = fopen('C:\myphp_www\PHPTutorial\WWW\PHP基础与实战\语法篇1\demo3.php','r')or die('打开失败'); echo gettype($file); echo '<hr>'; var_dump($file);
------------------------------------------------------------------------------------------------------------------------------
五、什么是作用域
1、全局作用域:从脚本开始,直到脚本结束都有效
2、函数作用域:仅在函数内有效,也叫局部作用域
3、不受作用域影响的变量:系统预定义变量,常量
超全局变量:$_SERVER返回一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组,
$_GET广泛用于收集表单数据,也可以手机url中发送的数据
声明一个全局变量,它在全局作用域中
$faction = '全真教';
声明一个局部作用域:函数作用域
function miss($belle){
return $belle;
}
超全局变量:系统预定义的变量,$_GLOBALS也是超全局变量
echo '当前的脚本名称是:'.$_SERVER['SCRIPT_FILENAME']; echo '<hr>'; echo $_GET['name'];