博客列表 >PHP中变量详解

PHP中变量详解

小淇的博客
小淇的博客原创
2019年03月19日 19:40:42814浏览

二.PHP程序中,哪些地方可以定义变量
1.函数内部:局部变量
2.函数外部:全局变量
3.函数参数列表中,局部变量


在函数内部创建时变量时局部变量,外部访问不到的

全局变量:在函数外部定义

三元运算符获取不了函数外部的变量

$str2 = '我是demo2函数外部定义的变量$str2';
function demo2(){
    return $str2 ? $str2 : '不可访问';
}
//echo demo2();
echo $str2;

在函数的参数列表中获取变量,在参数列表中的变量也是局部变量

function demo3($str3){
    return $str3;
}
echo demo3('杨过');

可以使用func_get_arg传递多个参数

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

  1. 标准类型,单值型,一个变量名对应一个值
    字符串,整数,浮点数,布尔值

    2.复合类型:数组array,对象object
数组:多个变量的集合,通过变量在集合中的索引来访问,索引是从0开始

对象:对象是内部封装了属性和方法的抽象类型,属性相当于变量,方法相当于函数
定义一个对象变量

创建一个stdClass的对象,初始化它的属性和方法

$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资源类型

检测变量是否为null

//$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);
    or die()语句:直接退出,不执行后面的语句


------------------------------------------------------------------------------------------------------------------------------

五、什么是作用域

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'];


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议