运算符:
可以通过给出的一或多个值(用编程语言来说 就是表达式)来产生另一个值(因而整个结构成为一个表达式)的东西所以可以人为函数或任何会返回一个值(例如:print)的结构是运算符 而那些没有返回值的(例如:echo)是别的东西 --自我理解就是一个东西变成另一个东西然后有返回值就是运算符
算数运算符
三种类型的运算符:
一元运算符 只有一个值 例如: !(取反运算符) \ ++(加一运算符)
二元运算符 有两个操作数 PHP支持的大多数运算符都是这样
三元运算符 ?:. 他应该被用来根据一个表达式在另两个表达式中选择一个。而不是用来在两个语句或者程序路线中选择,把整个三元表达式放在括号里是个很好的主意
+ 加法运算 $a+$b 和
- 减法/取负运算 $a-$b 差
* 乘法运算 $a-$b 积
/ 除法运算 $a/$b 商
% 求余数运算符/取模运算 $a%$b 余数
++ 累加1 $a++ $a+1
-- 递减 $a-- $a -1
注意:++在前 先++后赋值 ++在后面 先赋值 后++ 【--一样】
例子:
$a=100;
$b=200;
echo ++$a + ++$b + $a; //101+201+101=403
echo '<br>';
echo $a-- - --$b + ++$a; //101 -200+100=1 /100-199+100
字符串运算符
第一个是连接运算符("."),它返回其左右参数连接后的字符串
第二个是连接赋值运算符("="),他讲右边的参数附加到左边的参数后
例子:
$a = 'hello';
$a = $a.'world' //hello world == $a.='world'
赋值运算符
基本的赋值运算符是:"=" 他不是"等于" 他是把右边表达式的值赋值给左边的运算符
= 将一个值或者表达式的结果赋值给变量 $x=3
+= 将变量与所赋的值相加后的结果赋值给该变量 $x+=3 == $x=$x+3
-= 将变量与所附的值相减后的结果赋值给该变量 $x-=3 == $x=$x-3
*= 将变量与所附的值相乘后的结果赋值给该变量 $x*=3 == $x=$x*3
/= 将变量与所附的值相除后的结果赋值给该变量 $x/=3 == $x=$x/3
%= 将变量与所附的值相求模后的结果赋值给该变量 $x%=3 == $x=$x%3
.= 将变量与所附的值相相连后的结果赋值给该变量 $x.="H" == $x=$x."H" 注意 =和==不一样 一个等号是赋值 两个等号是相等 三个等号是全等
比较运算符
> 大于 当左边大于右边时返回true 否则返回发false $a>$b
< 小于 当左边小于右边时返回true 否则返回发false $a<$b
>= 大于等于 当左边大于等于右边时返回true 否则返回发false $a>=$b
<= 小于等于 当左边小于等于右边时返回true 否则返回发false $a<=$b
== 等于 两边操作数的值相等时返回true 否自false $a==$b
=== 全等于 两边值相等并且类型相等返回true 否则false $a===$b
<>或!= 不等于 两边值不等时返回true 否则返回false $a<>$b $a!=$b
!== 非全等于 两边值与类型都相等同时返回false 否则返回true $a!=$b
例子:
$a = '100';
$a ==100; //yes
$a === 100; //false
逻辑运算符
and或&& 逻辑与 当两边操作数都为true 返回true 否则返回false $a and $b $a && %b
or或 || 逻辑或 当两边操作数都为false返回false 否则返回true $a or $b $a || $b
not 或! 逻辑非 当操作数为true时返回false 否则返回true not %b !$b
xor 逻辑异或 当两边操作数至于一个为true 返回true 否则返回false $a xor $b
例子
$a=0;$b=0;
$a && $b //false
$a || $b //false
$a xor $b //false
当或和与放在一起 先与后或 逻辑与当左边的操作为false 将不再计算右边的操作数
位运算符
& 按位与 只有参与运算的两位都是1时 才会返回1 否则0 $a & $b
| 按位或 只有参与运算的两位都为0时运算绝活才为0 否则为1 $a | $b
^ 按位异或 只有参与运算的两位不同,运算结果才为1 否则为0 ^$b
~ 按位非按位取反 将二进制表示的操作数中的1变成0 0变成1 ~$b
<< 左移 将左边的操作数在内存中的二进制数据右移右边操作数指定的位数,右边一空 的部分补上0 $a<<$b
>> 右移 将左边的操作数在内存中的额二进制数据左移右边操作数指定的位数 左边移空的部分补上0 $a>>$b
例子:
~-101 //100
~0; //-1
5<<2; //20
5>>1 //2
5=101 右移一位 变成10 为2
其他运算符
?: 三元运算符 可以提供简单的逻辑判断 $a<$b?$a:$b
`` 反引号 执行运算符PHP降舱是将反引号中的内容做外壳命令来执行 并将其输入信息返回 $a=`ls -al`
@ 错误控制运算符,当将其防止在一个PHP表示式之前,该表达式可能产生的任何错误信息都被忽略掉 @表达式
=> 数组下标指定符号,通过此符号指定数组的键与值 键=>值
-> 对象成员访问符号,访问对象中的成员属性或成员方法 对象->成员
instanceof 类型运算符,用来测定一个给定的对象是否来自指定的对象类 对象instanceof类名
例子:
$b=$a>0?100:null; //如果a>0 则b=100,反之为0
@eval('phpinfo();');
echo `ipconfig`;
$arr=array('A'=>'100','B'=>'90');
$this->name;
$p isntanceof Persion; //$p属不属于Persion
运算符的优先级
非结合 new new
左 [ array()
非结合 ++ -- 递增/递减运算符
非结合 ! ~ - (int)(string(array)(object)@ 类型
左 * / % 算数运算符
左 + - . 算术运算符和字符串运算符
左 << >> 位运算符
非结合 < <= > >= 比较运算符
非结合 == != === !== 比较运算符
左 & 位运算符和引用
左 ^ 位运算符
左 | 位运算符
左 && 位运算符
左 || 位运算符
左 ?: 位运算符
右 = += -= *= /= .= %= &= != ^= <<= >>= 赋值运算符
左 and 逻辑运算符
左 xor 逻辑运算符
左 or 逻辑运算符
左 , 多处用到
表达式
是PHP最重要的基石 几乎所写的任何东西都是一个表达式。简单却最精准的定义一个表达式的方式就是"任何有价值的东西" 最基本的表达式形式是常量和变量 稍微复杂的表达式就是函数 其他患有运算符与操作数构成的表达式。
例子:
$a=5;
$a>5;
可变变量:
可变变量获取了一个普通变量的值作为这个可变变量的变量名
例子:
$a='hello' //普通变量 hello
$$a='world'; //可变变量$hello = world
变量的引用赋值
引用操作符&可以再关联赋值中使用 就像一个别名 是的变量都指向了内存的相同地址 通过重置变量unset($a)来重置变量与内存的关联
例子:
$a = 5;
%b = &$a; //5 &指向存储5 的地址
unset($a); // 这个时候 $a 已经被注销了 但是$b 还是5
设置时间:
date_default_timeone_set("PRC"); //设置时区
date('Y-n-d H:i:s',time()) //显示时间格式
弹窗的几种方法:
alert(1);
alert("1");
alert('3');
alert(`4`);
alert(/5/);
alert'6';