PHP变量总结

原创 2018-11-18 16:03:35 732
摘要:PHP变量类型有哪些?标准类型: 整数(interger) 浮点数(float) 布尔型(bool),字符串(string)       复合类型:数组(array) 对象(object)       特殊类型:NULL(null)资源类型(resource) &nbs
  1. 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();    //  tom

    2.全局变量:在函数外部定义的变量如下    

$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');

  总结:

        在函数外部定义的变量是全局变量只能在函数外部访问

        在函数内部定义的变量是局部变量只能在函数内部访问

        在函数的参数列表中声明的变量也是局部变量,也只能在函数内部访问

如何在函数内访问一个全局变量

有三种方式来创建全局变量

  1. global 关键字来创建  例如  global  $name

  2. $GLOBALS 来使用          $name =  $GLOBALS['name'];并且在函数中不用声明可以直接用

  3. 将函数外部的变量传入到函数内 就可以使用了

变量的访问

单值变量变量名来访问        $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
老师总结:作业总结的很全面,结构清晰,示例完整,合格。

发布手记

热门词条