细说php(三) 运算符与表达式
一、算术运算符 + - * / % ++ --
<?php
$a = 100;
$a++; // $a=$a+1; 先用变量再自增1
++$a; // $a=$a+1; 先用自增1再用变量
$a--; // $a=$a-1; 先用变量再自减1
--$a; // $a=$a-1; 先用自减1再用变量
echo "a = ".$a."<br>"; // 100 $b = $a % 3.3; // % 会把两边的数转为整数后再进行整除
echo "b = ".$b;
?>
二、字符串运算符 .
<?php
$name = "tom";
$age = 27;
$height = 1.75; echo "我的名字是:{$name} 我的年龄是:{$age} 我的身高是:{$height}米<br>";
echo '我的名字是:' . $name . ' 我的年龄是:' . $age . ' 我的身高是:' . $height . '米' . '<br>';
echo '我的名字是:' , $name , ' 我的年龄是:' , $age , ' 我的身高是:' , $height , '米' , '<br>';
?>
三、赋值运算符 = += -= *= /= %= .=
<?php
$a = 10;
$a += 10; // $a = $a + 10;
$a -= 10; // $a = $a - 10;
$a *= 10; // $a = $a * 10;
$a /= 10; // $a = $a / 10;
$a %= 10; // $a = $a % 10;
$a .= "abc"; // $a = $a . "abc";
?>
四、比較运算符 > < >= <= == === != 或<> !==
<?php
/**
=== 比較时不仅要求内容同样,也要求类型同样
!== 比較时不仅要求内容不同样,也要求类型不同样
**/
$a = 100;
if ($a === "100") {
echo "111111111111111";
} else {
echo "000000000000000";
}
?>
五、逻辑运算符 && 或and ||或 or ! 或not
<?php
// 逻辑运算符仅仅能操作bool型值, 返回的也是bool型值
// 与Java一样&&和||也有短路的问题 var_dump(true && true); // true
var_dump(true and false); // false
var_dump(true || false); // true
var_dump(true or false); // true
var_dump(!false); // true
?>
六、位运算符 & | ^ ~ << >> >>>
<?php
/***************************************************************
* 20 000000000 00000000 000000000 00010100
* 30 000000000 00000000 000000000 00011110 &
* ------------------------------------------------------------
* 000000000 00000000 000000000 00010100 20
***************************************************************/ $a = 20; // 16+4 00010100
$b = 30; // 16+8+4+2 00011110
$c = $a & $b;
echo $c . "<br>"; // 20 /***************************************************************
* 20 000000000 00000000 000000000 00010100
* 30 000000000 00000000 000000000 00011110 |
* ------------------------------------------------------------
* 000000000 00000000 000000000 00011110 30
***************************************************************/ $a=20; // 16+4 00010100
$b=30; // 16+8+4+2 00011110
$c= $a | $b;
echo $c . "<br>"; // 30 /***************************************************************
* 20 000000000 00000000 000000000 00010100
* 30 000000000 00000000 000000000 00011110 ^
* ------------------------------------------------------------
* 000000000 00000000 000000000 00001010 10
***************************************************************/ $a = 20; // 16+4 00010100
$b = 30; // 16+8+4+2 00011110
$c = $a ^ $b;
echo $c . "<br>"; // 10 $c = ~$a ;
echo $c . "<br>"; // -21 /***************************************************************
* 00000000 00000000 000000000 000101 >> 2
* 00000000 00000000 000000000 0001010000 << 2
***************************************************************/
$c = $a << 2 ;
echo $c . "<br>"; // 80
?>
七、其它运算符 ? : `` @ => -> :: & $
<?php
// 三目运算符
$a = 10;
$b = $a > 50 ? $a : 5;
echo $b; // 运行系统命令
$str=`ipconfig /all`;
echo '<pre>';
echo $str;
echo '</pre>'; // 隐藏异常信息
@getType();
echo "##############<br>";
?>
细说php(三) 运算符与表达式的更多相关文章
- C 碎片三 运算符与表达式
一.算术运算符 算术运算符:+. -. *. /. %等 加:+ 减: - 乘: * 除: / 除数不能为0 模:% 参与模运算的数据不能为小数 二.赋值运算符 赋值运算符:= 作用: ...
- python 教程 第三章、 运算符与表达式
第三章. 运算符与表达式 1) 运算符 + 加 - 减 * 乘 ** 幂 / 除 // 取整除 % 取模 << 左移 >> 右移 & 按位与 | 按位或 ^ 按位 ...
- javascript运算符与表达式
表达式 表达式是关键字.运算符.变量以及文字的组合,用来生成字符串.数字或对象.一个表达式可以完成计算.处理字符.调用函数.或者验证数据等操作. 表达式的值是表达式运算的结果,常量表达式的值就是常量本 ...
- [Java 基础]运算符和表达式
Java运算符 (1)赋值操作符 赋值操作符(=)表示:取右边的值(即右值),把它复制给左边(即左值). 右值可以是任意的常量.变量或表达式(只要可以生成一个值). 左值必须是一个明确的.已命名的变量 ...
- 01-Java基础知识:数据类型与变量、标识符、运算符、表达式
Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2). int ( ...
- Python 学习笔记(2) - 基本概念、运算符与表达式
字符串 - 可以使用 3 种形式 - 单引号 :「'your string'」 - 双引号 :「"your string"」 - 三引号 :「'''your string''' 或 ...
- C#程序设计基础——运算符与表达式
运算符就是完成操作的一系列符号,它主要包括算术运算符.赋值运算符.关系运算符.逻辑运算符.条件运算.位操作运算符和字符串运算符. 表达式就是运算符和操作数的组合,如a*b+1-c.表达式主要包括算术表 ...
- java与.net比较学习系列(4) 运算符和表达式
上一篇总结了java的数据类型,得到了冰麟轻武等兄弟的支持,他们提出并补充了非常好的建议,在这里向他们表示感谢.在后面的文章中,我会尽力写得更准确和更完善的,加油! 另外,因为C#是在java之后,也 ...
- C语言入门(5)——运算符与表达式
C语言中运算符和表达式数量之多,在高级语言中是少见的.正是丰富的运算符和表达式使C语言功能十分完善.这也是C语言的主要特点之一. C语言的表达式由运算符.常量及变量构成.C语言表达式基本遵循一般代数规 ...
随机推荐
- KafkaOffsetMonitor监控
介绍 KafkaOffsetMonitor是有由Kafka开源社区提供的一款Web管理界面,这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,你 ...
- 关于java读取和写入properties配置文件的内容
一般通过使用流的方式进行读取 代码示例如下: package com.zznode.transmit.util; import java.io.FileInputStream; import java ...
- vps安全设置
适合新手及才接触VPS的朋友们看一下.主要是关于VPS安全方面相关内容的 禁止ROOT登陆 保证安全性. 使用DDoS deflate简单防攻击. iftop Linux流量监控工具: 每日自己主动备 ...
- CAS原理与协议
SSO英文全称Single Sign On,单点登录. SSO是在多个应用系统中,用户仅仅须要登录一次就能够訪问全部相互信任的应用系统. SSO的解决方式非常多,比方收费的有UTrust.惠普灵动等, ...
- android开发步步为营之65:解决ScrollView和ListView触摸事件onInterceptTouchEvent相互冲突问题
近期项目里面有个需求,一个页面放了一个ScrollView,整个页面能够向上滚动,然后ScrollView里面又嵌套了一个ListView,ListView里面的数据也是能够上下滑动的,理论上List ...
- (2)入门指南——(3)为什么jquery工作的很好(Why jQuery works well)
With the resurgence of interest in dynamic HTML comes a proliferation of JavaScript frameworks. Some ...
- OLEDB简介
OLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口.OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQ ...
- 网络基础知识HTTP(1) --转载
为什么要写网络? 作为网站开发人员,你所开发的软件产品最终是要在网络上运行的.这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气.地理.人文毫无了解.生产商的产品肯定是不可用的,或者低端 ...
- IIS7如何显示详细错误信息
使用Vista或Win7操作系统的用户在不断增加,用Win7旗舰版开发测试程序程序人员也与日俱增,Win7下测试程序时,如果程序出 错,IIS7会提示HTTP Error 500 - Internal ...
- eclipse中运行tomcat找不到jre的解决办法
一.在eclipse中选择 window--->preferences 二.runtime environment ----->edit 三.在这个地方就可以进行选择jre了.