【web开发基础】PHP快速入门(5)-PHP运算符之算术运算符和字符串运算符详解

简介: 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是"+"。如在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符;PHP也同样包含这些运算符。运算符和变量是所有计算机编程语言中的不可或缺的一部分,是一个命令解释器对一个或多个操作数(变量或数值)执行某种运算的符号,也称为操作符

前言

PHP开发基础开速入门系列

  1. 【web 开发基础】php 开发基础快速入门 (1)-PHP 介绍及开发环境快速安装和基本使用介绍
  2. 【web 开发基础】php 开发基础快速入门 (2)-PHP 的程序开发
  3. 【web 开发基础】php 开发基础快速入门 (3)-PHP 程序符号标记和程序注释的使用及空白符详解
  4. 【web 开发基础】php 开发基础快速入门 (4)-PHP 常量详解

这是PHP开发基础快速入门的第三篇文章,前两篇文章介绍了PHP的大致用法,书接上回,之前的文章对PHP的开始结束标记有过简单描述,这次详细唠唠PHP的标记相关知识以及程序注释等内容

运算符是什么

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是"+"。如在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符;PHP也同样包含这些运算符。

运算符和变量是所有计算机编程语言中的不可或缺的一部分,是一个命令解释器对一个或多个操作数(变量或数值)执行某种运算的符号,也称为操作符

网络异常,图片无法展示
|

可以根据操作数的个数分为一元运算符,二元运算符,三元运算符。一元运算符只运算一个值,比如:上图中的取反运算符(!)或自增自减运算符(加一元运算符)(++,--)。二元运算符可以运算两个值,PHP支持大多数运算符都是二元运算符。而三元运算符只有一个(...?...:...)。如果按运算的不同功能去分类,可以分为算术运算符,字符串运算符,赋值运算符,比较运算符,逻辑运算符,位运算符和其他运算符。而本文要详细介绍的就是算术运算符,这也是我们在开发中最常用且最重要的运算符之一

算术运算符详解

算术运算符是最常用的符号,就是常见的数学操作符,用来处理简单的算术运算,包括加减乘除四则,取余等操作。PHP中常用的运算符如下图所示:

网络异常,图片无法展示
|

算术运算符的使用非常容易,与我们在数学中使用运算符的方式是一样的,不过使用算术运算符应该注意,除号(/)和取余运算符(%)的除数不能为0,也是除数不能为0, 在程序中同样需要遵守所有的数学规则.另外,对于非数值类型的操作数,PHP在算术运算时会自动将非数值类型的操作数转换成一个数字。变量的类型转换,后续文章会详细介绍。敬请期待!~

在这里着重介绍“%”、“++”和“--”三个算术运算符的在PHP中的使用,取模运算符(%)也称取余运算符。在PHP语言中在做求模运算时首先会将%运算符两边的操作数转换为整型(如int型:也就是我们所说的整数),然后返回一个操作数除以第二个操作数后所得到的余数。在程序开发时使用取模运算符通常有两个目的:

  1. 做整除运算:比如在求闰年时,能被4整除并不能被100整除,或者能被400整除的就是闰年。
  2. 让输入的数字不超过某个数的范围,比如:让任意一个随机数在10以内,就可以让这个随机数和10取余,得到的余数就永远不会超过10.实际项目中的应用也有很多,比如分库分表,哈希算法中的运用
<?php$a=10%3; //使用两个整数进行取模运算var_dump($a); //输出整型的余数1$b=10.9%3.3; //使用两个浮点数进行取模操作var_dump($b); //输出整型的余数1$c="10ren"%"3ren"; //使用两个字符串进行取模运算var_dump($c); //输出整型的余数1//计算是否闰年$year=2022;
if(($year%400) ==0|| (($year%100) !=0&& ($year%4) ==0)){
echo$year . "是闰年";
}else{
echo$year . "是平年";
}
echo'<br>';
$num=rand()%10; //获得一个10以内的随机数echo$num;

执行结果:

网络异常,图片无法展示
|

在编程中,最常见的运算时对一个变量进行加1的或者减1的运算操作,虽然不是本文的重点,但是不得不提的就是赋值运算符,赋值运算符是所有编程语言当中最重要的运算符,赋值运算符可以改变变量的值,也可以写成(+=)这种方式计算递增变量的值,还可以使用(-=)计算递减变量的值.PHP也提供了另外两个不寻常的算术运算符,来执行递增和递减的运算。分别称为递增(自增)和递减(自减)运算符,即“++”、“--”。自增和自减常用于循环之中。

自增和自减是一元运算符,这两个运算符并不只是递增和递减的另一个选项,在进一步应用PHP的过程中,就可以看出它们的更多的用处和价值,比如下面的代码:

<?php$a=1;
$a=$a+1; //$a变量加1后再赋值给这个变量$a+=1; //使用赋值运算符在原变量上加1++$a;  //使用自增运算符递增1

三句代码的效果是一样的,这三句代码都让变量$a递增1,最后一种形式是用了自增运算符,显然是最简洁的一种方式.这个运算符的操作不同于前面介绍的其他运算符,因为它直接修改了其操作数的值.表达式的结果是递增变量的值,后面的表达式可在表达式中使用已经递增的值.

递增和递减运算符都可以在变量的前面使用前自增(++$a)后自增($a++),这样就决定了变量是先运算后使用还是先使用后运算.

网络异常,图片无法展示
|

下面我们看看具体的例子:

<?php$a=10;//定义变量$a,赋值10$b=$a++;//后自增?>

网络异常,图片无法展示
|

以上两条语句被执行后,$a的值为11,而$b的值是10;首先是将$a的值赋给$b,然后将$a的值加1,而下面的语句被执行后,$a和$b的值都是11,首先将$a的值加1,然后将$a的值赋给$b:

<?php$a=10;//定义变量$a,赋值10$b=++$a;//前自增?>

网络异常,图片无法展示
|

前自增和后自增的区别

<?php$a=15; //声明变量$a赋值15$b=$a+++++$a; //先用$a的值加上$a自增1后再自增1的值17,再赋值给$b//输出结果echo$a;
echo'<br>';
echo$b;
echo'<br>';
$b=$a-----$a; //先用$a的值17减去$a自减1后再自减1的值15,再赋值给$b//输出结果echo$a;
echo'<br>';
echo$b;

执行结果:

网络异常,图片无法展示
|

另外,在处理字符变量的算术运算时,PHP沿袭了Perl语言的习惯,而非C语言的.比如:在Perl中,'Z' + 1 将得到 'AA';而在C语言中,'Z'+1将得到'['(ord('Z')==90, ord('[')==91)。注意字符变量只能自增,不能自减,并且只支持纯字母(a-z和A-Z)。比如:涉及到字符变量的算术运算如下:

<?php$i='a';
for($n=0;$n<52;$n++){ //循环自增52次echo++$i . "\n"; //$i自增}

执行输出结果:

网络异常,图片无法展示
|

:自增或者自减运算符不会影响布尔值,自减NULL值也没有效果,但是自增NULL的结果是1

PHP中的字符串运算符

字符串基本用法

在PHP中字符串运算符只有一个,是英文的句号/点号( . ),也称为连接运算符.它是一个二元运算符,返回其左右参数连接后的字符串.这个运算符不仅可以将两个字符串连接起来,变成合并的新字符串;也可以将一个字符串和任何标量数据类型相连接,合并成的同样是新的字符串.不同类型拼接,PHP底层会自动进行类型转换,会把其他类型隐式转换为字符串后拼接接成新的字符串

<?php$name="李白";
$age=19;
$height=1.92;
echo$name . "身高:". $height . "米" . "今年" . $age . "岁"?>

执行结果如下:

网络异常,图片无法展示
|

字符串使用的野路子

在PHP中,两个都是纯数字的字符串,可以进行加法运算,PHP引擎会把数字字符串转换为数值类型的数据然后进行加减乘除混合运算,但是在实际应用中不建议这么做,避免未知的错误最后自己在代码中手动做一次类型转换

<?php$a='123'+'345';
$b='abc123'+'345';
echo$a;
echo'<br>';
echo$b;
?>

执行结果如下:

网络异常,图片无法展示
|

目录
相关文章
|
4天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
4天前
|
PHP
在PHP中,字符串操作
在PHP中,字符串操作
12 3
|
6天前
|
PHP 开发者
深入浅出PHP:构建你的第一个Web应用
【10月更文挑战第35天】在数字时代的浪潮中,掌握编程技能已成为通往未来的钥匙。本文将带你从零开始,一步步走进PHP的世界,解锁创建动态网页的魔法。通过浅显易懂的语言和实际代码示例,我们将共同打造一个简单但功能强大的Web应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将是你的理想选择。让我们一起探索PHP的魅力,开启你的编程之旅!
|
5天前
|
PHP
06 一文带你搞定PHP字符串操作
路老师带你深入PHP:本文详细介绍了PHP中的字符串定义、操作及常用函数,包括字符串的定义方式、定界符、字符串操作(如去除空格、获取长度、截取、替换、分割和合成等)。通过实例讲解,帮助你快速掌握PHP字符串处理技巧。
13 2
|
10天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP是一种流行的服务器端脚本语言,自诞生以来在Web开发领域占据重要地位。从简单的网页脚本到支持面向对象编程的现代语言,PHP经历了多次重大更新。本文探讨PHP的现代演进历程,重点介绍其在Web开发中的应用及框架创新,如Laravel、Symfony等。这些框架不仅简化了开发流程,还提高了开发效率和安全性。
17 3
|
10天前
|
前端开发 PHP 云计算
PHP在Web开发中的不可替代性###
——守护Web开发基石,PHP的独特魅力与广泛应用解析
|
12天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP 自发布以来一直在 Web 开发领域占据重要地位,历经多次重大更新,从简单的脚本语言进化为支持面向对象编程的现代语言。本文探讨 PHP 的演进历程,重点介绍其在 Web 开发中的应用及框架创新。自 PHP 5.3 引入命名空间后,PHP 迈向了面向对象编程时代;PHP 7 通过优化内核大幅提升性能;PHP 8 更是带来了属性、刚性类型等新特性。
22 3
|
12天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
13天前
|
弹性计算 算法 PHP
PHP在现代Web开发中的不可替代性###
【10月更文挑战第27天】 如今互联网技术日新月异,前后端开发逐渐融合,但PHP凭借其灵活性、广泛应用和深厚社区基础,依然在Web开发领域占据重要地位。本文将深入探讨PHP为何能在现代Web开发中保持其不可替代的地位,并分析其未来的发展趋势。 ###
30 1
|
14天前
|
Unix Linux PHP
PHP在Web开发中的平台独立性优势###
本文探讨了PHP的跨平台特性,阐述其作为服务器端脚本语言如何在不同操作系统上无缝运行,以及这一特性为开发者和组织带来的便利性和成本效益。 ###