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 相关文章推荐
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
php制作动态随机验证码
Feb 12 PHP
php 实现进制相互转换
Apr 07 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
laravel 判断查询数据库返回值的例子
Oct 11 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 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提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
JavaScript 是什么意思
2016/09/22 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
Python Queue模块详细介绍及实例
2016/12/27 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
Python中的TCP socket写法示例
2018/05/11 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
python机器学习之神经网络实现
2018/10/13 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
Python 解析简单的XML数据
2020/07/24 Python
Django admin组件的使用
2020/10/24 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
干部现实表现材料
2014/02/13 职场文书
小学毕业感言300字
2014/02/19 职场文书
幼师中班个人总结
2015/02/12 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
父亲节感言
2015/08/03 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
Python实现批量自动整理文件
2022/03/16 Python
Python测试框架pytest高阶用法全面详解
2022/06/01 Python
cypress测试本地web应用
2022/06/01 Javascript
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技