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 相关文章推荐
不用GD库生成当前时间的PNG格式图象的程序
Oct 09 PHP
PHP中用hash实现的数组
Jul 17 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
PHP实现文件下载详解
Nov 27 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
php日期操作技巧小结
Jun 25 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 PHP
PHP迭代器接口Iterator用法分析
Dec 28 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
桌面中心(一)创建数据库
2006/10/09 PHP
php下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
javascript 禁止复制网页
2009/06/11 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
Vue.js实现的表格增加删除demo示例
2018/05/22 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
js实现每日签到功能
2018/11/29 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
python抓取网页中的图片示例
2014/02/28 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
flask框架路由常用定义方式总结
2019/07/23 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
3.15消费者权益日活动总结
2015/02/09 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
python开发人人对战的五子棋小游戏
2022/05/02 Python