手机
当前位置:查字典教程网 >编程开发 >php教程 >php学习之运算符相关概念
php学习之运算符相关概念
摘要:复制代码代码如下:

复制代码 代码如下:

<?php

/*运算符号(PHP)操作符号

*

* 按运算符号功能分为:

* 一、算术运算符 + - * / % ++ --

* 二、字符串运算符 . 连接运算符

* 三、赋值运算符 = += -= *= /= %= .=

* 四、比较运算符 > < >= <= == === != <> !==

* 比较运算符---条件运算符---关系运算符

* 比较后的结果只有一种:boolean true false

* === 比较时不仅要求内容相同,也要求类型相同

* !== 比较时内容不相同,也要求类型不相同

* 五、逻辑运算符 &&或and ||或or !或not

* 逻辑运算符只能操作bool型的值,返回的也是bool型的值

* 六、位运算符 & | ^ ~ << >> >>>

* 七、其他运算符 ? : `` @ => -> :: & $

* `` 用来执行操作系统内核

* @ 用来屏蔽掉错误信息

* 建议使用“()”改变表达式的优先级别

*

* % 有两个目的:整除运算;控制范围,不要用小数,也不要用负数

* % 会吧运算符两边的数转为整数后再进行整除求余。

*/

//用 %符号判断闰年

$year=2011;

if(($year%4==0 && %year%100!=0) || $year%400=0)

{

echo "run nian";

}

else

{

echo " not run nian";

}

// ++ --符号的使用

$a=10;

$a++; //$a=$a+1; 先用变量,再自增1

++$a; //$a=$a+1; 先自增1,在用变量

$a--; //$a=$a-1; 先用变量,再自减1

--$a; //$a=$a-1; 先自减1,再用变量

echo $a; //结果为10

//++ -- 运算的区别

$a=10;

$b=$a++;//b=10,a=11

$c=--$b;//c=9,b=9

$d=$c++ + ++$c; //d=20,c=11

$e=$d-- - --$d; //d=18,e=2

echo $d;

//字符串运算符 . 的使用

$name="tom";

$age=27;

$height=1.75;

echo "我的名字是:{$name}我的年龄是:{$age}我的身高是:{$height}米<br>";

echo '我的名字是:'.$name.'我的年龄是:'.$age.'我的身高是:'.$height.'米'.'<br>';

echo "$age=".$age; //$age=27

echo "我的名字是:{$name}我的年龄是:{$age}我的身高是:{$height}米<br>";//赋值运算符的使用

$a=10;

$a+=10; //$a=$a+10;

$a-=10; //$a=$a-10;

$a*=10; //...

$a/=10; //...

$a%=10; //$a=$a%10;

$a.="abc";//$a=$a."abc";

echo $a;

$str='<table>';

$str.='<tr>';

$str.='<td>';

$str.='</td>';

$str.='</tr>';

$str.='</table>';

echo $str;//输出一个表格

//比较运算符

var_dump(15>6);//返回 bool(true)

$a=15;

if(15==$a)

{

echo "a=15";

}

else

{

echo "a!=15";

}

//逻辑运算符的使用

var_dump(true && true);//true

var_dump(true && false);//false

var_dump(true || false);//true

var_dump(!true);//false

var_dump(!false);//true

//判断用户名密码

$username="admin";

$password="123456";

$email="290080604@qq.com";

if($username=="admin" && $password="123456")

{

echo "用户名密码正确";

}

if($username=="" || $password=="" || $email=="")

{

echo "一个都不能为空";

}

//位运算符

$a=20; //00010100

$b=30; // 00011110

/*

* 20 00010100

* 30 00011110 &

*-----------------------------------

* 00010100

*

*/

$c=$a & $b;

echo $c;

/*补充,& | 也可以用做逻辑运算

* &&和||的 短路问题:

* &&在作运算时,如果前面的数为false,则后面是否为true,整个表达式都为false,所以就不去执行后面的操作数;

* ||在作运算时,如果前面的数为true,则后面的数是否为false,整个表达式都为true,所以就不去执行后面的操作数;

* 然而,& 或者 | 在作运算时,两边都会被执行

*/

$a=10;

if($a>5 || $a++<100){}

echo $a;//输出10

$b=10;

if($b>5 | $b++<100){}

echo $b;//输出11

/*

位的概念:一个位是由8个二进制数组成的(例00000000),

一个字节由8个位组成,那么就有32个二进制数。

原码:最高位 用0表示正数,1表示负数

+7 00000111

-7 10000111

反码:一个数如果为正,则它的反码与原码相同;

一个数如果为负,则符号位为1,其余各位是对原码取反;

+7 00000111

-7 11111000

+0 00000000

-0 11111111

补码:一个数如果为正,则它的补码与反码与原码相同

一个数如果为负,则它的补码=反码+1,去掉最高位的溢出位

-7 原码 10000111反码11111000

+1

补码11111001

已知一个负数的补码,把它转换为十进制数。

1.先对各位取反

2.将其转换为十进制数

3.加上负号,再减去1。

例:补码11111010

取反00000101

4+1=5

-5-1=-6

位运算符:

& 按位与 |按位或 ^按位异或 ~按位取反

例: 按位与 01101101

&00110111

00100101

结论:只有1 1为1。

按位或 01101101

|00110111

01111111

结论:只有0 0为0。

按位异或 01101101

^00110111

01011010

结论:只有1 0或0 1时为1。(也可以理解为处于不同状态为1(真))

按位取反 ~00110111

11001000

结论:将0变1,1变0

移位运算符:

左移:<< 带符号右移:>> 无符号右移:>>>

例:数 x x<<2 x>>2 x>>>2

17 00010001 01000100 00000100 00000100

-17 11101111 10111100 11111011 00111011

结论:正数左右移动都补0,负数左移补0,带符号右移补1,不带符号补0

*/

//其他运算符的运用

$a=10;

$b=$a>5 ? $a : 5;//三元运算符,如果成立$b=$a否则$b=5

echo $b;

//用``来执行操作系统shell命令

$str=`ipconfig /all`;

echo '<pre>';

echo $str;

echo '</pre>';

?>

【php学习之运算符相关概念】相关文章:

十天学会php之第二天

php实现求相对时间函数

php计算整个目录大小的方法

学习使用PHP数组

php支持中文字符串分割的函数

JAVA/JSP学习系列之四

php实现插入排序

php删除指定目录的方法

十天学会php之第七天

将数字格式的计算结果转为汉字格式

精品推荐
分类导航