PHP中的变量、常量和运算符

PHP变量 

命名规范

Ø 必须以$符开始

Ø 声明变量时一般使用英文,也可以使用数字,但是不能以数字开头。

Ø 不可以使用特殊字符,但是下划线_除外

Ø 变量名严格区分大小写

可变变量              

Ø 可变变量只是变量的一种可以在开头连续使用多个$符号

Ø 理论上$可以无限使用,实际中一般指使用2$

Ø 结合方式:结合方式是从右到左依次结合一个$ 

引用赋值

变量2=&变量1

更改其中一个变量(1 也好2也罢) 剩下那个变量也会跟着更改这就是引用赋值

相关功能

Ø 删除变量的功能 unset();

Ø 检测变量是否设置值  isset();

只要赋值且不是null的数据那么检测结果都为true

如果变量为赋值或者赋值为null 那么检测结果为false

Ø 检测变量值为空的功能:empty();

int         0

float       0.0

string      ''0

booleam    false

array      空数组

object    对象都不为空

resource  资源都不为空

null      本身就为空

返回true表示变量为空,返回false表示变量不为空

PHP常量

常量的概述

通常不会改变的量就是常量

常量的定义  

Ø define('常量名','常量值',ture/false);

注意:第三个参数是可选参数,默认false

注意事项:

常量名:

             常量名开头不可以使用$;

             声明常量不要使用中文,要用使用英文,推荐大写

             可以使用数字,但是不能以数字开头

             不可以使用特殊字符,除了下划线

             常量名要有意义

             常量是否区分大小写,有define的第三个参数决定。true是不区分大小写,默认false,区分大小写

u  常量值:

                 PHP版本<7  常量的值仅能在标量中选取

                PHP版本>=7 常量的值仅能在标量或者数组中选取

Ø PHP版本>5.3之后可以使用    

使用  const关键字声明常量

格式:const常量名=常量值

该方法只有声明和define不同,其他规则都相同。

Ø 区别:

const不能再流程控制中定义,而define 可以定义

记住: 

只要不在类中声明常量其他地方都使用define

如果在类中声明常量则使用const来定义

常量的特点

Ø 常量一旦定义就不可以在改变其值.

Ø 常量习惯上使用大写

Ø 常量如果声明就要有值。如果不声明就将该常量名称,当做字符串来处理

系统的魔术常量

Ø __FILE__  表示当前文件相对于系统的绝对路径

Ø __LINE__  表示当前常量所在的行

Ø __FUNCTION__ 可以在函数中获取当前函数的名称

Ø __CLASS__  表示当前常量所在的class的名称

Ø __METHOD__  表示当前常量所在的类和方法名

相关的几个功能

Ø constant() 获取一个常量值的功能

  作用:和echo差不多,但当一个常量名是一个字符串的时候,才能发挥

             constant的作用

格式:

  返回常量值=constant()

Ø get_defined_constants() 获取当前定义的所有常量集合,返回一个数组

Ø defined() 检测一个常量是否被定义

  格式:

    返回结果变量=defined('检测的常量名')

  其返回值为布尔值。

PHP运算符

注意:运算符的两边要给个空格。增加代码的可读性。

字符串运算符

PHP中字符串运算符就是用来连接字符串的符号,在PHP中只有一个.(英文状态下的点)

赋值运算符

 =  普通赋值运算符 为变量和常量赋值

 +=  加法赋值运算符

 $num = 10;

 $num += 5;

 //完成格式$num=$num+5;

 -=   减法赋值运算符

 *=  乘法赋值运算符

 /=   除法赋值运算符

 %=  取模赋值运算符

 .=   字符串赋值运算符

比较运算符

 >   大于

 <   小于

 >=   大于等于

 <=   小于等于

 ==   等于      只判断值,不判断类型

 !=   不等于    值不相等就为真

 ===  全等于    值和类型都相等

 !==   非全等于  除了全等其余都是非全等

算术运算符

 +  -  *  /

  %(求余或取模)

 ++(自增运算)  

  --(自减运算)

自增自减运算需要注意事项

自增或者自减运算就是在原值的基础上进行+1或者-1的操作

在进行自增或者自减运算时,运算符符号可以在变量前也可以在变量后,但是意义不一样

如果自增或者自减的运算符在变量前,表示先将当前变量进行+1操作,然后使用该变量如果运算符在变量后,则表示先使用当前变量在进行自增或者自减运算。

(一定要理解先使用在进行

比如:$a=15

$b=10

$c=$a++ + $b++  

// ++先使用 $c=15+10 $a=16 $b=11 

自增自减运算对布尔值无效,一般也不用与数组对象资源等类型。常用与整型

逻辑运算符

Ø 逻辑与运算  && 或者 and (一般用&&,因为and的优先级比&&的低)

两个值都为真时,结果为真。其余情况都为假

Ø 逻辑或运算 || 或者 or (也有优先级的高低)

两个值有一个为真结果就为真。

只有两个值都为假时,结果才为假。

Ø 逻辑非运算  ! 或者 not一般不用not(也有优先级高低的问题)

在变量前面   真变假,假变真。

Ø 逻辑异或运算  xor 

相同为假 不同为真。 

位运算符

位运算符是在二进制的基础上进行的。

Ø 按位与

  在二进制的基础上对每一位进行逻辑与运算  比如:

$no1=15; //二进制就是1111

$no2=8;  //二进制就是1000

$result =$no1 & no2

//二进制的1000也就是8  从个位到千位一个一个进行与运算

Ø 按位或  | 

在二进制的基础上对每一位进行逻辑或运算

Ø 按位异或 ^

在二进制的基础上对每一位进行逻辑异或运算

Ø 按位非 ~

在二进制的基础上对每一位进行逻辑非运算。

注意:如果是二进制第一位符号位为1 则该数为负数。是负数,载二进 制中必须反码,在补码+1

PS:有一定的规律 。

$no1=19;

$no2=~$no1;

//$no2=-20  

Ø 左移 <<

在二进制的基础上将所有二进制的数值想左移动1位,移动之后的空白位置补0,效果类似乘以2

$a=128;

$b=$a>>2;

//$b=128*2^2(移动几位^)每一次移动都表示"乘以2" 

Ø 右移 >>

在二进制的基础上将所有二进制的数值想右移动1位,移动之后移出的最后一位会被删除 效果类似除以2

其他运算符

Ø 错误抑制符 @

  用于屏蔽单行错误,对于多行无效,尽量少用@符号,效率太低。

Ø 三元运算符 ? (类似于if

格式:

条件?真值:假值

根据条件的真假决定取真值还是假值

如果格式条件结果为true,那么就将真值赋值给变量

如果格式条件结果为false,那么就将假值赋给变量

 -> 对象成员访问

 => 数组元素访问符号

 , 声明多变量的分隔符 for循环的第一个参数使用

 ``(反引号)用于执行系统命令

运算符的优先级

解决运算符优先级的最好办法,推荐使用()

在手册中可查看优先级。


猜你喜欢

转载自blog.csdn.net/stout_t/article/details/80099421