PHP基础之运算符的使用方法
1、算术运算符:+、-、*、/、%。
2、递增/递减运算符:如$a++,$a--,++$a,--$a.
如:
<?php
$a=10;
$b=5;
$c=$a++; //先赋值,后自增。$c=$a,$a=$a+1
$d=$b--; //先赋值,后自减。$d=$b,$b=$a-1
echo '$a='.$a."||".'$c='.$c.'<br/>'; //$a=11,$c=10
echo '$b='.$b."||".'$d='.$d.'<br/>'; //$b=4,$d=5
?>
<?php
$a=10;
$b=5;
$c=++$a; //先自增,后赋值。$a=$a+1,$c=$a
$d=--$b; //先自减,后赋值。$b=$a-1, $d=$b
echo '$a='.$a."||".'$c='.$c.'<br/>'; //$a=11,$c=11
echo '$b='.$b."||".'$d='.$d.'<br/>'; //$b=4,$d=4
?>
3、比较算符:参考文档
4、逻辑运算符:
如:
$a=10;$b=7;
if($a++>8 || $b++>7){ //$a++>8为真,$b++>7这个就不执行了
echo 'OK!';
}
echo 'a='.$a.'b='.$b; // 输出OK,a=11,b=7
改变一下
$a=10;$b=7;
if($a++>10 && $b++>7){ //$a++>8为假,$b++>7这个就不执行了
echo 'OK!';
}
echo 'a='.$a.'b='.$b; // a=11,b=7
细节:and && 都表示逻辑与 ,他们的区别在什么地方?
主要体现在优先级上面
and 的优先级
and< = <&&
or < = < ||
如:
$a=false || true; //&& > = > and ;先比较false || true,再赋值
$b=false or true; //|| > = > or ;先赋值$b=false,再比较,所以结果是false
var_dump($a,$b); //bool(true) bool(false)
相关推荐
-
用PHP中的 == 运算符进行字符串比较
最近在Greg Beaver's的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题. 在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一.在使用 == 运算符对两个字符串进行松散比较时,PHP会把类数值的字符串转换为数值进行比较,下面的实验证实了这个结论:<?phpvar_dump('01' == 1);?> 以
-
PHP 作用域解析运算符(::)
Scope Resolution Operator (::) 今天 看joomla源码的时候,才意识到.原来这个操作符还可以访问类的非静态方法啊.真的让我吃惊不好.一直以为作用域解析运算符只能访问类的static方法和static成员变量. 如果各位不相信,下面有个简单的小测试代码可以证明这个. 复制代码 代码如下: class A{ private $_name = 'A'; function __construct(){ echo 'A construct <br />'; } funct
-
PHP常用特殊运算符号和函数总结(php新手入门必看)
注解符号: // 单行注解 多行注解引号的使用 ' ' 单引号,简单字符串,不经任何处理直接拿过来; " "双引号,php动态处理然后输出,一般用于处理$变量.布尔变量: 一种是true 即 真的; 另一种是false 即假的常见变量: string 字串(数字\汉字\等等) integer
-
php中的比较运算符详解
1.对于数组 $a=array(1,2,3,6); $b=array(1,2,3,6,8); echo "\n"; var_dump( $a>$b); var_dump( $a==$b); var_dump( $a<$b); 结果: boolean false boolean false boolean true ps:具有较少成员的数组较小 $a=array(1,2,3,6,9); $b=array(1,2,3,6,8); echo "\n"; var
-
php中的三元运算符使用说明
今天一个网友在群里发了个题目不难,但是可能会错 复制代码 代码如下: echo $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : $a == 4 ? 'foura' : 'other'; echo "\n"; 输出结果是: <BR> 结果是:four 一开始想不明白,按照我的理解,应该是这样的逻辑: echo ($a == 1 ? 'one' : ( $a == 2 ? 'two' : ( $a == 3 ? '
-
PHP字符串比较函数strcmp()和strcasecmp()使用总结
比较字符串是任何编程语言的字符串处理功能中重要的特性之一.在PHP中除了可以使用比较运算符号(==.<或>)加以比较外,还提供了一系列的比较函数,使PHP可以进行更复杂的字符串比较.如strcmp().strcasecmp()和strnatcmp()等函数. 1.按字节顺序进行字符串比较 要按字节顺序进行字符串的比较,可以使用strcmp()和strcasecmp()两个函数,其中函数strcasecmp()可以忽略字符串中字母的大小写进行比较.这两个函数的原型如下所示: 复制代码 代码如下:
-
PHP学习 运算符与运算符优先级
算术运算符 运算符 名称 结果 $a + $b 加法 $a 和 $b 的和 $a - $b 减法 $a 和 $b 的差 $a * $b 乘法 $a 和 $b 的积 $a / $b 除法 $a 除以 $b 的商 $a % $b 取模 $a 除以 $b 的余数 递增/递减运算符 运算符 名称 结果 ++$a 前加 $a 的值
-
PHP比较运算符的详细介绍
比较运算符种类 如同它们名称所暗示的,允许对两个值进行比较.比较运算符有如下几个: 1) $a > $b 大于:如果 $a 严格大于$b,则返回TRUE 2) $a < $b 小于:如果 $a 严格小于$b,则返回TRUE 3) $a >= $b 大于等于:如果 $a 大于等于$b,则返回TRUE 4) $a <= $b 小于等于:如果 $a 小于等于$b,则返回TRUE 5) $a <> $b 不等于:如果 $a 不等于$b,则返回TRUE 6) $a != $b 不
-
PHP之浮点数计算比较以及取整数不准确的解决办法
php有意思的现象,应该是很多编程语言都会有这样的现象.这个是因为计算机的本身对浮点数识别的问题.....下面通过代码给大家展示下: $f = 0.58; var_dump(intval($f * 100 *100)); //结果5799 var_dump((float)($f * 100 *100)); //结果5800 echo (int)((0.1+0.7)*10); //结果7 echo (float)((0.1+0.7)*10); //结果8 <?php $a = 0.1; $b =
-
php数组比较实现查找连续数的方法
本文实例讲述了php数组比较实现查找连续数的方法.分享给大家供大家参考.具体如下: $data = array(); $data[]= array("01" ,"02", "18" , "29" , "31" , "32"); $data[]= array("02" ,"09", "11" , "22" ,
-
php常用字符串比较函数实例汇总
本文实例汇总了php常用字符串比较函数.分享给大家供大家参考.具体分析如下: substr_compare() 函数从指定的开始长度比较两个字符串,该函数返回: 0 - 如果两字符串相等,<0 - 如果 string1 (从开始位置)小于 string2,>0 - 如果 string1 (从开始位置)大于 string2. 语法:substr_compare(string1,string2,startpos,length,case),代码如下: 复制代码 代码如下: $str1="h
-
php中判断数组相等的方法以及数组运算符介绍
如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了 php手册里说明如下: 那像 array('k'=>array())这样的多维数组能用如上方法判断相等吗?当然也可以. 若数组是数字索引的,就要注意一下了,见代码: 复制代码 代码如下: <?php $a = array("apple", "banana"); $b = array(1 => "banana", "0" => &quo
-
php数组操作之键名比较与差集、交集赋值的方法
本文实例讲述了php数组操作之键名比较与差集.交集赋值的方法.分享给大家供大家参考.具体方法如下: 该实例主要实现对数组的各种常见操作.如对键名比较计算数组的差集,计算差集,给指定数组中插入一个元素,反转数组与交集赋值新的数组等. 具体代码如下: 复制代码 代码如下: //定义回调函数 function key_compare_func($key1,$key2) { if($key1==$key2) //如果两参数相等 return 0; //返回0
-
php三元运算符知识汇总
今天在改论文在线的时候遇到了一个语句看不懂: $if_summary = $row['IF_SUMMARY']==2?'是':'否'; 后来百度后发现是PHP的三元运算符 这句话的意思就等于是 if($row['IF_SUMMARY']==2){ $if_summary="是"; }else{ $if_summary="否": } 三元运算符的功能与"if...else"流程语句一致,它在一行中书写,代码非常精练.执行效率更高. 在PHP程序中恰
-
PHP 关于访问控制的和运算符优先级介绍
复制代码 代码如下: class Foo { private $name = 'hdj'; public function getName(){ return $this->name; } } class Bar extends Foo { public $name = 'deeka'; } $bar = new Bar; var_dump($bar->name); var_dump($bar->getName()); 访问控制 对属性或方
-
PHP字符串 ==比较运算符的副作用
复制代码 代码如下: $a = '212345678912000005'; $b = '212345678912000001'; var_dump($a == $b); 这段代码的输出是bool(true), 说明这样判断会得出结论是两者相等. 类似的特性在in_array()函数第3个参数为false或者不设置的情况. 原因是首先判断字符串是否是数字, 然后转换成long或者double(C语言数据类型)再判断 - 使用zendi_smart_strcmp. 但是, 源码中的注释说声明考虑了溢
-
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
本文实例讲述了php字符比较函数similar_text.strnatcmp与strcasecmp用法.分享给大家供大家参考.具体如下: ① similar_text() 函数计算两个字符串的匹配字符的数目,该函数也可以计算两个字符串的相似度,以百分比计. 语法:similar_text(string1,string2,percent) 注释:levenshtein() 函数比 similar_text() 函数更快,不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果
-
PHP中浮点数计算比较及取整不准确的解决方法
浮点数计算结果比较 一则浮点数计算例子如下: 复制代码 代码如下: $a = 0.2+0.7; $b = 0.9; var_dump($a == $b); 打印出的结果是:bool(false).也就是说在这里 0.2+0.7 的计算结果与 0.9 并不相等,这显然是有违我们的常识的. 对此问题,PHP官方手册曾又说明:显然简单的十进制分数如 0.2 不能在不丢失一点点精度的情况下转换为内部二进制的格式.这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数.例如,十进制的 1/3 变
随机推荐
- Vue自定义指令介绍(2)
- Java虚拟机JVM性能优化(三):垃圾收集详解
- oracle增加表空间大小两种实现方法
- 用javascript判断IE版本号简单实用且向后兼容
- php 批量添加多行文本框textarea一行一个
- C++ 单例模式的详解及实例
- docker在已有的tomcat镜像上打新的镜像的Dockerfile编写说明介绍
- php算开始时间到过期时间的相隔的天数
- PHP实现图片压缩的两则实例
- jdbc连接oracle数据库功能示例
- ruby写扫描当前网页所有url的脚本
- Python错误: SyntaxError: Non-ASCII character解决办法
- Python2.x与Python3.x的区别
- 基于jQuery的图片剪切插件
- js禁止表单重复提交
- JavaScript让网页出现渐隐渐显背景颜色的方法
- 利用IIS最大连接数实现网站DOS(图)
- 基于Java的正则表达式
- C#列出局域网中可用SQL Server服务器(续)
- python django使用haystack:全文检索的框架(实例讲解)