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如何透过ODBC来存取数据库
Oct 09 PHP
PHP实现Socket服务器的代码
Apr 03 PHP
PHP 日期时间函数的高级应用技巧
Oct 10 PHP
实用PHP会员权限控制实现原理分析
May 29 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
php关联数组快速排序的方法
Apr 17 PHP
Symfony2 session用法实例分析
Feb 04 PHP
Yii2分页的使用及其扩展方法详解
May 23 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
PHP内置函数生成随机数实例
Jan 18 PHP
PHP扩展类型及安装方式解析
Apr 27 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
Smarty模板语法详解
2019/07/20 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
详解Node.js如何开发命令行工具
2016/08/14 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
python分割和拼接字符串
2013/11/01 Python
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
Python判断直线和矩形是否相交的方法
2015/07/14 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
高中毕业自我鉴定
2013/12/16 职场文书
护士自我介绍信
2014/01/13 职场文书
报社实习生自荐信
2014/01/24 职场文书
运动会稿件300字
2014/02/14 职场文书
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技