php学习之运算符相关概念


Posted in PHP onJune 09, 2011
<?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数据库开发知多少
Oct 09 PHP
PHP 源代码压缩小工具
Dec 22 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
php基础学习之变量的使用
Jun 09 PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
PHP对象相关知识总结
Apr 09 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 PHP
php学习之流程控制实现代码
Jun 09 #PHP
php学习之简单计算器实现代码
Jun 09 #PHP
php学习之 循环结构实现代码
Jun 09 #PHP
php学习笔记之 函数声明(二)
Jun 09 #PHP
php学习笔记之 函数声明
Jun 09 #PHP
php学习之 数组声明
Jun 09 #PHP
php学习笔记 数组遍历实现代码
Jun 09 #PHP
You might like
两种php调用Java对象的方法
2006/10/09 PHP
php Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
php中的strpos使用示例
2014/02/27 PHP
PHP7.0版本备注
2015/07/23 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
图片之间的切换
2006/06/26 Javascript
js右键菜单效果代码
2007/07/21 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
python检测远程udp端口是否打开的方法
2015/03/14 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
django-filter和普通查询的例子
2019/08/12 Python
详解python中的闭包
2020/09/07 Python
大学生就业自荐信
2013/10/26 职场文书
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
手工社团活动方案
2014/02/17 职场文书
市场营销策划方案
2014/06/11 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
党员民主生活会材料
2014/12/15 职场文书
Python基础 括号()[]{}的详解
2021/11/07 Python