php—基础语法

php变量

命名规则

  1. 必须以$符号开始;
  2. 有字母,数字和下划线组成;
  3. 变量严格区分大小写;
  4. 不能与数字开头;
  5. 命名应该有实际的意义;
  6. 命名方法可以采用驼峰法($userName)或者下划线法($user_name);
  7. 可以使用中文来命名变量,但极不推荐使用。
    php是一种弱类型语言,也就是说不需要像Java一样在命名变量是要使用 int, float等等来规定变量类型。

    可使用 var_dump($username)来查看变量类型。使用 unset($username)来删除变量,删除后不能再次使用。

变量的生命周期

  1. 从定义变量,到人为删除变量的周期;
  2. 从定义变量,中途为删除变量,知道脚本执行结束。

预定义变量

系统中为了方便程序员开发,将很多需要用户很麻烦操作的变量制作成了系统变量,用户可以直接调用就能获取响应的数据结果,预定义变量通常都是数组数据,且命名通常都是大写。
- GETget G E T : 用 户 通 过 g e t 方 式 提 交 的 数 据 − _POST:用户通过post方式提交的数据
- REQUESTgetpost R E Q U E S T : 用 户 通 过 g e t 和 p o s t 提 交 的 数 据 − _SERVER:用户和服务器的基本信息数据
- FIle F I l e : 用 户 提 交 的 文 件 信 息 − _SESSION:session数据
- COOKIEcookie C O O K I E : c o o k i e 数 据 − GLOBALS:所有全局变量,也是唯一一个不是以下划线开始的预定义变量
- $_ENV:环境数据

变量传值

  • 值传递:将变量的值赋值给另外一个变量,两个变量拥有相同的值,但是两个变量互不影响。
    $a = 10;
    $b = $a;    // 值传递
  • 引用传递:将变量所指向的数据的内存地址赋值给另外一个变量,两个变量指向同一个值,任何一个改变都会影响另外一个变量。
    $a = 10;
    $c = &$a;   // 取a变量保存的内存地址,交给c变量存储,两个变量存储同一个内存地址。

变量内存分析(栈、堆、数据段、代码段)

  • 栈:效率高,但是少,主要存放变量名字和变量索引(指向数据的内存地址)
  • 堆:效率低,但是大,其内存连续,主要存储大数据(对象,数组等)
  • 数据段:效率比堆高,比栈低,主要存储普通数据
  • 代码段:将要运行的代码加载到内存中,然后开始执行代码
  • 变量内存机制:变量在定义的过程中,在栈区有一块索引表(PHP自动申请),然后将变量名字存储到表中,然后变量的值存储在数据段中,并将数据的地址存到索引表中对应变量名的后面。也就是说,变量并不是保存数据,而是保存数据所在的内存地址。访问变量时,就是通过变量名找到数据地址,然后取出数据。

php常量

命名规则

  1. 常量名通常用大写字母表示;
  2. 不需要使用$符号开始;
  3. 有字母,数字和下划线组成;
  4. 复杂的常量名使用下划线法表示:FAMILY_NAME

常量定义

常量的定义通常使用define函数或者const关键字,而且必须在定义的时候就对其赋值。

    // 有效常量名
    define('PI', 3.1415926);
    const FAMILY_NAME = 'UESTC';
    define('-_-'. 'smile');     // 宽松方式,不建议使用
    // 错误变量名
    define('3PI'. 3.1415926);   // 数字开头,错误。
    const 3PI = 3.14;

常量使用

常量的使用可以通过直接定义的常量名来使用,但有些以符号定义的常量名-不能以普通方式访问,通常以

    constant('-_-');    // 访问常量

系统常量

  • PHP_VERSION:php的版本号
  • PHP_INT_SIZE:php中int数据所占用的字节数
  • PHP_INT_MAX:php中int所能存储的最大数

魔术常量

系统中有一些东西是在变化的,但是又是不允许随意变化,是有规律变化的
- __DIR__:当前文件所在路径(绝对路径)
- __FILE__:当前文件所在路径(绝对路径,包含文件名)
- __FUNCTION__:函数内部使用,表示函数的名字
- __CLASS__:类内部使用,表示类名
- __NAMESPACE__:命名空间内部使用,表示当前命名空间
- __METHOD__:类内部方法里使用,表示当前方法名字
- __LINE__:表示当前所在行数

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值