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初学者头疼问题总结
Jul 08 PHP
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
PHP登录验证码的实现与使用方法
Jul 07 PHP
php进程间通讯实例分析
Jul 11 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 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中常用的字符串格式化函数总结
2014/11/19 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
python实现指定字符串补全空格的方法
2015/04/30 Python
Python实现的快速排序算法详解
2017/08/01 Python
Python中使用haystack实现django全文检索搜索引擎功能
2017/08/26 Python
Python实现微信机器人的方法
2019/09/06 Python
Django之路由层的实现
2019/09/09 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
法国综合购物网站:RueDuCommerce
2016/09/12 全球购物
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
什么是岗位职责
2013/11/12 职场文书
骨干教师考核方案
2014/05/09 职场文书
机关作风建设心得体会
2014/10/22 职场文书
离婚上诉状范文
2015/05/23 职场文书
音乐剧猫观后感
2015/06/04 职场文书
交通安全教育心得体会
2016/01/15 职场文书