初学者学php算术运算符有哪些_初学者学php算术运算符【汇总】

PHP算术运算符需注意优先级、类型转换和整除陷阱:++/–位置影响结果,%对浮点数先截断,**幂运算优先级高于+-,+=会改变变量类型且对数组有合并语义。

初学者学php算术运算符有哪些_初学者学php算术运算符【汇总】

PHP 的算术运算符就那么几个,但初学者常因优先级、类型隐式转换和整除陷阱栽跟头。

+-*/% 是基础五兄弟,别漏掉 **

PHP 7.0+ 支持幂运算符 **,比如 2 ** 38,比写 pow(2, 3) 直观。注意:** 优先级高于 +-,但低于括号和自增/自减。

  • % 只对整数“安全”——若操作数是浮点数(如 10.5 % 3.2),PHP 会先截断为整数(变成 10 % 3),结果可能出人意料
  • / 永远返回 float 类型,哪怕 4 / 2 也得 2.0,不是 2
  • 负数取模遵循「被除数符号」:例如 -7 % 3-1,而 7 % -31(PHP 不关心除数符号)

++-- 的位置决定一切

前置(++$i)先加后用,后置($i++)先用后加。这个差异在表达式里极易引发 bug。

$i = 5;
echo $i++ + ++$i; // 输出 12(5 + 7),不是 11 或 13
  • 不要在同一个表达式里对同一变量多次自增/自减,行为在不同 PHP 版本中可能不一致
  • ++ 对字符串也有效:$s = 'a'; echo ++$s; 输出 'b';但到 'z' 会变成 'aa',不是报错

+=-= 等复合赋值符不是语法糖那么简单

它们不只是简写,还影响求值顺序和类型推导。比如:

PHP 网络编程技术与实例(曹衍龙)

PHP 网络编程技术与实例(曹衍龙)

PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍

下载

立即学习PHP免费学习笔记(深入)”;

$a = '10';
$a += 5; // $a 变成 int 15(自动转类型)
$a = '10';
$a = $a + 5; // 同样得 int 15,但中间多一次临时计算
  • += 对数组有特殊行为:$arr1 += $arr2 是“键存在则不覆盖”的合并,不是数值相加
  • 对 null 值使用 += 会触发 notice:$x = null; $x += 1;Notice: A non well formed numeric value encountered
  • .= 是字符串拼接专用,别和 += 混用——$s .= 'abc' 安全,$s += 'abc' 会强制转数字,多半得 0

真正容易翻车的,是把 % 当“取余”无脑用于浮点场景,以及在循环条件里写 $i++ 还以为它和 ++$i 等价。这些地方没 debug 日志根本看不出问题。

https://www.php.cn/faq/1995229.html

发表回复

Your email address will not be published. Required fields are marked *