您好,欢迎来到聚文网。 登录 免费注册
PHP+MYSQL网站开发与实践教程/卜耀华

PHP+MYSQL网站开发与实践教程/卜耀华

  • 装帧: 简装
  • 出版社: 清华大学出版社
  • 作者: 卜耀华、石玉芳
  • 出版日期: 2019-09-01
  • 商品条码: 9787302533351
  • 版次: 1
  • 开本: 其他
  • 页数: 0
  • 出版年份: 2019
定价:¥49.8 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
"1.概念清晰,系统全面。本书紧密围绕PHP 程序设计语言展开讲解,具有很强的逻辑性和系统性。2.案例驱动,代码学习。每章都配有与本章知识相关的示例程序和课堂实践,强调动手实践,用代码来驱动学习,逐步学会掌握PHP程序设计语言。3.实例丰富,实用性强。书中每个实例都经过精心设计和挑选,都是根据编者在实际应用开发中的经验总结而来的,较全面地反映了在实际开发中所遇到的各种实际问题。4.零基础,易入门。本书面向没有PHP程序设计语言基础的读者,全书将PHP程序设计语言分成小的技术点,使读者能轻松阅读下去,有助于读者尽快掌握这门语言。5.配备素材,方便学习。本书提供了所有案例的源文件,以便读者参考学习;每章都附有习题,可以帮助巩固基础知识;还配备了电子课件等丰富的教学资源。 "
内容简介
本书从网站开发技术与数据库技术的实际应用出发,以任务驱动、案例教学的方式,介绍了PHP及相关技术,具有概念清晰、系统全面、实用性强、易于学习和教学资源丰富等特点。 本书主要内容包括PHP概述、PHP开发环境、PHP基本语法、流程控制、PHP函数与文件系统、PHP数组与字符串、PHP面向对象编程、MySQL数据库技术基础、PHP访问与操作MySQL数据库、项目开发实战。全书包含23个课堂实践,供读者课后训练,巩固所学知识。 本书可作为高等学校计算机专业及各类培训机构的网站开发技术、数据库技术基础等课程的教材,也可作为PHP应用程序开发人员的参考书。
作者简介
卜耀华,内蒙古商贸职业学院计算机系教授,原计算机系教学副主任。曾主持省级项目多项。
目录
第1章PHP概述 1.1什么是PHP 1.2PHP的优势与特性 1.2.1PHP的优势 1.2.2PHP的特性 1.3PHP的应用领域 1.4PHP常用开发工具 1.4.1PHP代码开发工具 1.4.2网页设计工具 1.4.3文本编辑工具 课堂实践11: PHP代码开发工具的使用 1.5本章小结 1.6思考与实践 第2章PHP开发环境 2.1PHP脚本程序工作流程 2.2PHP环境搭建 2.2.1软硬件环境 2.2.2IIS服务器的安装配置 2.2.3Apache服务器的安装配置 2.3PHP集成软件 2.3.1PHP集成软件简介 2.3.2WampServer安装 课堂实践21: PHP测试程序 2.4本章小结 2.5思考与实践 第3章PHP基本语法 3.1PHP基础 3.1.1PHP标记 3.1.2PHP注释 3.1.3PHP标识符 3.1.4简单的PHP程序示例 3.2数据类型 3.2.1布尔类型 3.2.2整型 3.2.3浮点型 3.2.4字符串类型 3.2.5数组类型 3.2.6对象类型 3.2.7资源类型 3.2.8空类型 3.2.9数据类型转换 3.3常量与变量 3.3.1变量的声明与赋值 3.3.2可变变量 3.3.3常量 3.4运算符与表达式 3.4.1运算符 3.4.2表达式 课堂实践31: 基本语法综合应用 3.5本章小结 3.6思考与实践 第4章流程控制 4.1基本控制结构 4.2条件控制结构 4.2.1if语句 4.2.2if…else语句 4.2.3if…elseif语句 4.2.4switch语句 课堂实践41: 条件控制结构的应用 4.3循环控制结构 4.3.1while语句 4.3.2do…while语句 4.3.3for语句 课堂实践42: 循环控制结构的应用 4.4跳转语句 4.4.1break语句 4.4.2continue语句 4.5本章小结 4.6思考与实践 第5章PHP函数与文件系统 5.1PHP函数 5.1.1内置函数 5.1.2自定义函数 课堂实践51: 函数的应用 5.2文件操作 5.2.1文件的打开与关闭 5.2.2文件的读取与写入 5.2.3文件的复制和删除 5.2.4文件属性 5.3目录操作 5.3.1创建和删除目录 5.3.2打开和关闭目录 5.3.3读取和遍历目录 5.4文件上传 5.4.1文件上传设置 5.4.2预定义变量$_FILES的应用 课堂实践52: 访客计数器 5.5本章小结 5.6思考与实践 第6章PHP数组与字符串 6.1数组 6.1.1数组的声明和初始化 6.1.2数组的遍历 6.1.3数组的排序 课堂实践61: 数组排序的应用 6.2字符串 6.2.1字符串的定义方法 6.2.2字符串处理函数 课堂实践62: 验证身份证号码的正确性 6.3正则表达式 6.3.1正则表达式的概念 6.3.2正则表达式的语法 6.3.3PHP中相关正则表达式的函数 课堂实践63: 复杂格式数据的验证 6.4本章小结 6.5思考与实践 第7章PHP面向对象编程 7.1面向对象技术概述 7.1.1面向对象程序设计的思想 7.1.2面向对象程序设计的特征 7.2类和对象 7.2.1类和对象的关系 7.2.2类的声明 7.2.3类的成员 7.2.4类的实例化 7.2.5类中成员的访问 7.2.6特殊的对象引用 课堂实践71: 访问类中的成员 7.3构造方法和析构方法 7.3.1构造方法 7.3.2析构方法 7.4类的封装性 7.4.1设置私有成员 7.4.2私有成员的访问 7.5类的继承性 7.5.1类继承的定义 7.5.2访问类型的控制 7.5.3重载父类中的方法 课堂实践72: 简易学生信息管理 7.6抽象类与接口 7.6.1抽象类 7.6.2接口 7.7本章小结 7.8思考与实践 第8章MySQL数据库技术基础 8.1数据库技术基础 8.1.1数据库系统概述 8.1.2数据模型 课堂实践81: 教务管理系统的数据库设计 8.2MySQL的功能及特点 8.2.1MySQL的版本 8.2.2MySQL的特性 8.3数据库的创建与管理 8.3.1MySQL数据库简介 8.3.2管理数据库 课堂实践82: 创建和管理教务管理系统数据库 8.4表的创建与管理 8.4.1表概述 8.4.2创建和管理表 8.4.3表数据操作 课堂实践83: 创建教务管理系统数据表 8.4.4创建和管理索引 8.4.5数据完整性 课堂实践84: 教务管理系统中表的约束管理 8.5数据查询 8.5.1简单查询 课堂实践85: 简单查询的应用 8.5.2连接查询 课堂实践86: 连接查询的应用 8.5.3子查询 课堂实践87: 子查询的应用 8.5.4联合查询 8.6视图管理 8.6.1视图概述 8.6.2创建视图 8.6.3更新视图 8.6.4删除视图 课堂实践88: 教务管理系统中视图管理的应用 8.7存储过程和触发器 8.7.1存储过程 课堂实践89: 创建查询选课记录的存储过程 8.7.2触发器 课堂实践810: 创建一个插入事件触发器 8.8本章小结 8.9思考与实践 第9章PHP访问与操作MySQL数据库 9.1PHP访问MySQL 9.1.1PHP访问MySQL数据库的方式 9.1.2PHP访问MySQL的基本步骤 9.2mysqli扩展的使用 9.2.1mysqli扩展连接并选择数据库 9.2.2mysqli扩展操作数据库 9.3PDO方式访问数据库 9.3.1PDO的基本概念 9.3.2PDO连接数据库 9.3.3PDO中执行SQL语句 9.3.4PDO中获取结果集 9.3.5PDO中的错误处理 课堂实践91: 简单的用户注册管理 9.4本章小结 9.5思考与实践 第10章项目开发实战 10.1系统分析 10.1.1开发背景 10.1.2需求分析 10.2系统设计 10.2.1系统功能设计 10.2.2数据库设计 10.2.3开发环境选择 10.3系统实现 10.3.1数据库访问 10.3.2登录模块 10.3.3系统主模块 10.3.4读者信息管理模块 10.3.5图书信息管理模块 10.3.6图书借阅管理模块 10.4本章小结 10.5思考与实践 附录APHP 7常用内置函数 附录BPHP 7预定义变量 附录CPHP 7预定义常量 参考文献
摘要
    第3章
     PHP基本语法
     学习要点: 通过本章学习,读者可以掌握PHP提供的整型、浮点型和字符串等常量的表示方法,变量的定义和初始化方法; 掌握算术运算符、赋值运算符、比较运算符、逻辑运算符和字符串运算符的实现和运算规则,了解位运算符、错误控制运算符和执行运算符的基本功能,掌握表达式的编写。
     3.1PHP基础
     学习PHP语言的标记、注释和标识符等基本概念是学习基本语法的第一步,也是进行PHP编程开发的第一步。PHP语言的语法非常灵活,与其他编程语言有很多不同之处。读者如果学习过其他语言,可通过体会PHP与其他语言的区别来学习PHP。
     3.1.1PHP标记
     当解析一个文件时,PHP会寻找起始和结束标记,两个标记之间的所有文本都会被解释为PHP代码,此种解析方式使得PHP可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被认为是普通的HTML,这就是PHP标记的作用。PHP标记符风格不同,可划分为以下4种。
     1. 标准风格
     标准风格的PHP标记代码如下:
          echo "标准风格的标记";
     ?>
     在默认情况下,本书中使用的标记风格是标准风格。
     2. 脚本风格
     脚本风格的PHP标记代码如下:
    
     在XHTML或者XML中推荐使用这种标记风格,它是符合XML语言规范的写法。
     3. ASP风格
     ASP风格的PHP标记代码如下:
     <%
     echo "ASP风格的标记";
     %>
     4. 简短风格
     简短风格的PHP标记代码如下:
          echo "简短风格的标记" ;
     ?>
     注意: 简短风格标记最为简单,输入字符最少,要使用简短风格,必须保证php.ini文件中的short_open_tag=On。同理,要使用ASP风格,必须保证php.ini文件中的asp_tags=On。保存修改后的php.ini文件,然后重新启动Apache服务器,即可支持这两种标记风格。
     3.1.2PHP注释
     与其他的编程语言一样,PHP语句在编写的过程中,也需要一些注释命令来对一些语句进行说明,以便日后维护或者其他用户读取。这些注释并不真正执行,只是起到说明的作用。
     有时,在程序的调试过程中,也可以通过注释命令使得某个语句暂时不执行,以完成对语句的调试作用。
     1. 单行注释
     使用“#”符号作为单行语句的注释符,写在需要注释的行或编码前方。如下所示:
     #这是一个注释行
     或者使用“//”符号作为单行语句的注释符,写在需要注释的行或编码前方。如下所示:
     //这是另一个注释行
     2. 多行注释
     使用以“/*”符号开始、以“*/”符号结束的可以连续书写多行的注释语句。如下所示:
     /*这是多行注释
     还可以更多行*/
     注意: 在使用多行注释时,多行注释中不允许再嵌套使用多行注释。
     3.1.3PHP标识符
     PHP标识符指由用户定义的、可专享标识有意义的字符序列,如变量名、函数名、类名、方法名等。标识符必须遵守以下规则。
     (1) 标识符只能由字母、数字和下画线组成。
     (2) 标识符可以由一个或多个字符组成,且必须以字母或下画线开头。
     (3) 当标识符用作变量名时,区分大小写。
     (4) 如果标识符由多个单词组成,那么应使用下画线进行分隔,如class_name。
     (5) 不能使用PHP里事先定义好并赋予了特殊含义的关键字作为变量名、函数名,如用于定义类的关键字class。
     3.1.4简单的PHP程序示例
     例3.1编写一个简单的PHP程序。代码如下:
          $str = "这是我编写的第一个PHP程序"; //定义一个字符串
     echo $str; //输出字符串内容
     ?>
     图3.1简单的PHP程序
     程序运行结果如图3.1所示。
     注意: 在PHP中,每条语句以分号“;”结束,PHP解析器只要遇到分号“;”就认为一条语句结束了。因此,可以将多条PHP语句写在一行内,也可以将一条语句写成多行。
     3.2节 3.2数 据 类 型
     为了方便对数据的处理,需要对数据进行分类。PHP支持八种数据类型,包括四种标量类型、两种复合类型和两种特殊类型。PHP数据类型如表3.1所示。
     表3.1PHP数据类型
     分类类型类 型 名 称
     标量类型
     boolean布尔类型
     integer整型
     float或double浮点型
     string字符串类型
     复合类型
     array数组
     object对象
     特殊类型
     resource资源
     NULL空
     3.2.1布尔类型
     布尔类型(boolean)是数据类型中最简单的类型,又被称为逻辑类型。布尔值只有两个,即真和假,通常1即为真值true,0即为假值false,并且不区分大小写。布尔类型数据主要用在条件表达式和逻辑表达式中,用来控制程序流程。
     3.2.2整型
     整型(integer)用来表示整数,整型数值可以使用十进制、十六进制或八进制表示,前面可以加上符号(+或者-)来表示正整数和负整数。整型数值的表示和机器的字长有关,在32位机器中,整型的表示范围是-2147483648~+2147483647。在使用八进制表达时,整型数值前必须加上0(零); 在使用十六进制表达时,整型数值前必须加上0x。例如:
          $i = 789;// 十进制数
     $j = -456; // 十进制数负数
     $m = 0123; // 八进制数
     $n = 0xf2; // 十六进制数
     ?>
     3.2.3浮点型
     浮点型(float或double)也叫浮点数,又称单精度数(float)或双精度数(double)。浮点数是程序中表示小数的一种方法。在PHP中,通常使用标准格式和科学计数法格式表示浮点数。例如:
          $num1 = 123.45;// 标准格式表示的浮点数
     $num2 = -0.6789; // 标准格式表示的浮点数
     $num3 = 1.2345E2; // 科学计数法格式表示的浮点数
     $num4 = -6.789E-1; // 科学计数法格式表示的浮点数
     ?> 3.2.4字符串类型
     字符串类型(string)是由连续的字母、数字或字符组成的字符序列。在PHP中,通常使用单引号或双引号表示字符串类型。使用单引号时,字符串只对“'”和“\”进行转义; 使用双引号时,字符串支持多种转义字符。PHP转义字符如表3.2所示。
     表3.2PHP转义字符
     转 义 字 符含义转 义 字 符含义
     \n换行\f换页
     \r回车\\反斜线
     \t水平制表符\$美元符号
     \v垂直制表符\"双引号
     \eEscape\x十六进制字符
     例3.2使用单引号和双引号定义字符串,输出转义字符。代码如下:
          $str1 = 'Welcome to ';
     $str2 = "PHP";
     echo 'Welcome to '.$str2;
     echo "
    ";//另起一行
     echo $str1.$str2;
     echo "
    ";
     echo "输出一个反斜线: \\";
     echo "
    ";
     echo "输出美元符号: \$";
     echo "
    ";
     echo "输出双引号: \"";
     echo "
    ";
     echo "输出一个十六进制字符: \x41";
     echo "
    ";
     ?>
     图3.2输出转义字符
     程序运行结果如图3.2所示。
     注意: 在使用echo输出字符串时,可以使用英文句号“.”连接字符串、变量或常量,还可以使用英文逗号“,”进行连接。
     3.2.5数组类型
     PHP中的数组可以是一维数组、二维数组或者多维数组,其中的元素也可以为多种数据类型,如整型、浮点型、字符串类型或者布尔类型,还可以是数组类型(array)或者对象类型。有关数组的具体内容将在第6章详细介绍。
     3.2.6对象类型
     对象(object)是面向对象中的一种复合数据类型,对象就是类的具体化实例。对象是存储数据和有关如何处理数据的信息的数据类型。在PHP中,必须明确地声明对象。
     3.2.7资源类型
     资源(resource)是PHP特有的一种特殊数据类型,用于表示一个PHP的外部资源,如一个数据库的访问操作或者打开保存文件操作。PHP提供了一些专门的函数,用于建立和使用资源。
     3.2.8空类型
     空类型(NULL)只有一个值NULL。在PHP中,如果变量未被赋值或变量被unset()函数处理后,其值就是NULL。
     3.2.9数据类型转换
     PHP中可以通过类型转换改变变量的数据类型。PHP中数据类型转换分为两类: 自动类型转换和强制类型转换。
     1. 自动类型转换
     自动类型转换是将变量自动转换为最适合的类型,它可以直接进行转换,而不必使用函数,或者在变量前添加变量操作符。自动类型转换是将范围小的类型转换为范围大的类型。
     例3.3在PHP中分别声明整型的$i变量和字符串类型的$str变量,将这两个变量相减,并输出结果。代码如下:
          $i = 456;
     $str ="123";
     echo $i - $str;
     ?>
     执行程序,输出结果为333。这表明程序在执行时,已经自动将字符串类型$str变量的值转换为整型的值。
     2. 强制类型转换
     强制类型转换是指将一个变量强制转换为与原类型不相同的另一种类型的变量。强制类型转换需要在代码中明确地声明需要转换的类型。一般情况下,强制转换可以将取值范围大的类型转换为取值范围小的类型。PHP数据类型强制转换可以使用以下几种方式。
     (1) 利用强制类型转换可以转换为指定的数据类型。其基本语法格式如下:
     (类型名)变量或表达式;
     其中,类型名包括int、bool、float、double、real、string、array、object,类型名两边的括号一定不能丢。例如:
          $a=10;
     $b=(bool)$a; // 转换为bool数据类型
     $c=(int)$a; // 转换为int数据类型
     $d=(float)$a; // 转换为float数据类型
     $e=(double)$a; // 转换为double数据类型
     $f=(real)$a; // 转换为real数据类型
     $g=(array)$a; // 转换为array数据类型
     $h=(object)$a; // 转换为object数据类型
     ?>
     (2) 利用类型转换函数转换为指定的数据类型。常用的函数有: intval()、floatval()和strval()。其中,intval()表示将变量强制转换为整型数据类型; floatval()表示将变量强制转换为浮点型数据类型; strval()表示将变量强制转换为字符串数据类型。例如:
          $a= 123;
     $b="123.abc";
     $c= intval($b); // 转换为整型数据类型123
     $d= floatval($b); // 转换为浮点型数据类型123
     $e= strval($a); // 转换为字符串数据类型"123"
     ?>
     (3) 利用通用类型转换函数转换为指定的数据类型。settype()函数可以将指定的变量转换为指定的数据类型。其基本语法格式如下:
     settype (变量或表达式,"指定的数据类型" )
     settype()函数中,指定的数据类型有7个可取值: bool、int、float、string、array、object和null。如果转换成功,则返回结果为1(true),否则返回结果为0(false)。
     例3.4使用settype()函数转换指定的数据类型。代码如下:
          $a= 123;
     $b="123.abc";
     $c= true;
     echo settype($a,"string" );
     echo "
    ";
     echo settype($b,"int" );
     echo "
    ";
     echo settype($c, "string" );
     ?>
     执行程序,输出三行的结果,每行都为1,表示true。这表明数据类型转换成功。
     注意: 使用强制类型转换将浮点数转换为整数时,将自动舍弃小数部分,只保留整数部分; 其他转换规则遵循自动转换的规则。
     3.3节
     3.3常量与变量
     常量和变量是PHP要处理的基本的数据对象。常量中最典型的一个例子就是圆周率3.14,常量的值在程序运行前后是不会改变的。而变量是为了在程序运行过程中暂时保存一些中间结果,它的值在程序运行过程中是可以改变的。
     3.3.1变量的声明与赋值
     变量是指程序运行过程中其值可以变化的量,变量包含变量名、变量值和变量数据类型三要素。PHP的变量是一种弱类型变量,即PHP变量无特定数据类型,不需要事先声明,并可以通过赋值将其初始化为任何数据类型,也可以通过赋值随意改变变量的数据类型。
     1. 变量的声明
     变量用于存储值,如数字、字符串或数组。在PHP中变量必须由$符号开始,其基本语法格式如下:
     $变量名=变量的值;
     其中变量名的命名规则与标识符的命名规则相同。例如:
          $str1 = 'hello'; // 合法的变量名
     $_int = 123; // 合法的变量名
     $bool6 = true; // 合法的变量名
     $6_name = "PHP"; // 非法的变量名
     $@pro = 1; // 非法的变量名
     ?>
     2. 变量的赋值
     PHP中变量的赋值方式有传值赋值和引用赋值两种。
     (1) 传值赋值
     变量默认为传值赋值。将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。当一个变量的值赋予另外一个变量时,改变其中一个变量的值,不会影响到另外一个变量。
     例3.5传值赋值方式的使用。代码如下:
          $price= 3;
     $cost=$price;
     $price=10;
     echo $cost;
     ?>
     程序运行结果如图3.3所示。
     (2) 引用赋值
     引用赋值是PHP提供的另外一种给变量赋值的方式。引用赋值方式相当于给变量起一个别名,当一个变量的值发生改变时,另一个变量也随之变化。使用时只需要在要赋值的变量前添加&符号即可。
     例3.6引用赋值方式的使用。代码如下:
          $price= 3;
     $cost =&$price; //在要赋值的变量$price前添加&符号
     $price=10;
     echo $cost;
     ?>
     程序运行结果如图3.4所示。
     图3.3传值赋值方式的使用
     图3.4引用赋值方式的使用
     3.3.2可变变量
     可变变量是一种特殊的变量,这种变量的名称不是预先定义的,而是动态地设置和使用的。可变变量一般是使用一个变量的值作为另一个变量的名称,所以可变变量又称为变量的变量。可变变量直观上看就是在变量名前加一个$符号。
     例3.7可变变量的使用。代码如下:
          $str1 = 'scripting';
     $$str1 = 'language';
     echo "$str1 ${$str1}"; // 在变量$str1前添加$符号
     echo "
    ";
     echo "$str1 $scripting";
     ?>
     以上代码,$str1被赋值scripting,则$$str1相当于$scripting。所以当$$str1被赋值language时,输出$scripting就得到language。这就是可变变量。因此echo "$str1 ${$str1}"语句输出的结果与echo "$str1 $scripting"语句输出的结果接近相同,都会输出“scripting language”。程序运行结果如图3.5所示。
     注意: 在PHP的函数和类的方法中,超全局变量不能用作可变变量。$this变量也是一个特殊变量,不能被动态引用。
     3.3.3常量
     常量是指程序运行过程中其值不能改变的量。常量通常直接书写,如123、-45.6、"ABC"。在PHP中通常使用define()函数或const关键字来定义常量。
     1. define()函数
     PHP通过define()函数定义常量,其基本语法格式如下:
     define("常量名",常量值);
     例3.8使用define()函数定义常量,计算圆的面积。代码如下:
          define("PI",3.1415926); // 定义常量PI
     $radius = 5;
     $area=PI*$radius*$radius;
     echo "圆的面积是: "."$area";
     ?>
     程序运行结果如图3.6所示。
     图3.5可变变量的使用
     图3.6计算圆的面积
     2. const关键字
     PHP还可以通过const定义常量,其基本语法格式如下:
     const 常量名 = 常量值;
     例3.9使用const定义常量,计算圆的面积。代码如下:
          const PI = 3.1415926;// 定义常量PI
     $radius = 5;
     $area=PI*$radius*$radius; echo "圆的面积是: "."$area";
     ?>
     程序运行结果如图3.6所示。
     注意: PHP常量命名与标识符的命名遵循同样的命名规则,并且常量标识符通常是大写的。
     3.4节
     3.4运算符与表达式
     PHP包含多种类型的运算符,常见的运算符有: 算术运算符、字符串运算符、赋值运算符、比较运算符和逻辑运算符等。与之对应的表达式有: 算术表达式、字符串连接表达式、赋值表达式、关系表达式、逻辑表达式、位运算表达式和条件表达式等。
     3.4.1运算符
     1. 算术运算符
     算术运算符主要用于处理算术运算操作,常用的算术运算符如表3.3所示。
     表3.3常用的算术运算符
     运算符含义运算符含义
     +加法运算符%取余运算符
     -减法运算符++自增运算符
     *乘法运算符--自减运算符
     /除法运算符
     例3.10算术运算符用法实例。代码如下:
          $int1 = 17;
     $int2 = 5;
     echo "$int1"." + "."$int2"."=";// 加法运算
     echo $int1 + $int2."
    ";
     echo $int1." - ".$int2."=";
     // 减法运算
     echo $int1 - $int2."
    ";
     echo $int1." * ".$int2."=". $int1 * $int2;
     // 乘法运算
     echo "
    ";
     echo $int1." / ".$int2."=". $int1 / $int2;
     // 除法运算
     echo "
    ";
     echo $int1." % ".$int2."=". $int1 % $int2;
     // 取余运算
     echo "
    ";
     echo $int1++." ++ =". $int1; // 自增运算
     echo "
    ";
     echo $int2--." -- =". $int2; // 自减运算
     echo "
    ";
     ?>
     程序运行结果如图3.7所示。
     2. 字符串运算符
     字符串运算符的作用是将两个字符串连接起来组成一个字符串,使用“.”来完成。如果有一个操作数或两个操作数都不是字符串类型,那么先将操作数转换成字符串,再执行字符串运算操作。
     例3.11字符串运算符用法实例。代码如下:
          $str1 = "中华人民";
     $str2 = "共和国";
     echo $str1.$str2; // 字符串运算操作
     ?>
     程序运行结果如图3.8所示。
     图3.7算术运算符
     图3.8字符串运算符
     3. 赋值运算符
     赋值运算符的作用是对变量赋值。赋值运算符如表3.4所示。
     表3.4赋值运算符
     运算符含义
     =将右边的值赋值给左边的变量
     +=将左边的值加上右边的值赋值给左边的变量
     -=将左边的值减去右边的值赋值给左边的变量
     *=将左边的值乘以右边的值赋值给左边的变量
     /=将左边的值除以右边的值赋值给左边的变量
     .=将左边的字符串与右边的字符串连接赋值给左边的变量
     %=将左边的值对右边的值取余赋值给左边的变量
     例3.12赋值运算符用法实例。代码如下:
          $int1 = 17;
     $int2 = 5;
     echo "$int1"." +="."$int2"."的值是:";// +=赋值运算
     echo $int1 + $int2."
    ";
     echo $int1." -= ".$int2." 的值是:";
     // -=赋值运算
     echo $int1 - $int2."
    ";
     echo $int1." *= ".$int2." 的值是:". $int1 * $int2; // *=赋值运算
     echo "
    ";
     echo $int1." /= ".$int2." 的值是:". $int1 / $int2; // /=赋值运算
     echo "
    ";
     echo $int1." .= ".$int2." 的值是:". $int1.$int2; // .=赋值运算
     echo "
    ";
     echo $int1." %= ".$int2." 的值是:". $int1 % $int2; // %=赋值运算
     ?>
     程序运行结果如图3.9所示。
     图3.9赋值运算符
     4. 比较运算符 比较运算符用来比较其左右两边的操作数。比较运算符如表3.5所示。
     表3.5比较运算符
     运算符含义运算符含义
     ==相等>=大于等于
     !=不相等<=小于等于
     >大于===恒等于
     <小于!==非恒等于
     例3.13比较运算符用法实例。代码如下:
          $int1 = 17;
     $int2 = 5;
     echo "$int1"."=="."$int2"."的结果是:"; // ==比较运算
     echo var_dump($int1 == $int2); // 输出变量的数值和数据类型
     echo $int1." != ".$int2."的结果是:"; // !=比较运算
     echo var_dump($int1 != $int2);
     echo $int1." > ".$int2."的结果是:"; // >比较运算
     echo var_dump($int1 > $int2);
     echo $int1." < ".$int2."的结果是:"; // <比较运算
     echo var_dump($int1 < $int2);
     echo $int1." >= ".$int2."的结果是:"; // >=比较运算
     echo var_dump($int1 >= $int2);
     echo $int1." <= ".$int2."的结果是:"; // <=比较运算
     echo var_dump($int1 <= $int2);
     echo $int1." === ".$int2."的结果是:"; // ===比较运算
     echo var_dump($int1 === $int2);
     echo $int1." !== ".$int2."的结果是:"; // !==比较运算
     echo var_dump($int1 !== $int2);
     ?>
     程序运行结果如图3.10所示。
     图3.10比较运算符
     5. 逻辑运算符
     逻辑运算符用来组合逻辑运算的结果。逻辑运算符如表3.6所示。
     表3.6逻辑运算符
     运算符含义运算符含义
     !逻辑非||(或or)逻辑或
     &&(或and)逻辑与xor逻辑异或
     例3.14逻辑运算符用法实例。代码如下:
          $bool1 = 1;// 逻辑真 $bool2 = 0;// 逻辑假
     echo "!"."$bool2"."的结果是:"; // 逻辑非运算
     echo var_dump(!$bool2);
     echo $bool1." && ".$bool2."的结果是:"; // 逻辑与运算
     echo var_dump($bool1 && $bool2);
     echo $bool1." || ".$bool2."的结果是:"; // 逻辑或运算
     echo var_dump($bool1 || $bool2);
     echo $bool1." xor ".$bool2."的结果是:"; // 逻辑异或运算
     echo var_dump($bool1 xor $bool2);
     ?>
     程序运行结果如图3.11所示。
     图3.11逻辑运算符
     6. 按位运算符
     按位运算符是指对二进制位从低位到高位对齐后进行逻辑运算。在PHP中的按位运算符如表3.7所示。
     表3.7按位运算符
     运算符含义运算符含义
     &按位与~按位取反
     |按位或?向左移位
     ^按位异或?向右移位
     例3.15按位运算符用法实例。代码如下:
          $int1 = 7;//7的二进制数是111
     $int2 = 5; //5的二进制数是101
     echo "$int1"."&"."$int2"."的结果是:";
     echo ($int1 & $int2) ."
    "; //按位与运算,二进制结果是101
     echo $int1." | ".$int2."的结果是:";
     echo ($int1 | $int2) ."
    "; // 按位或运算,二进制结果是111
     echo $int1." ^ ".$int2."的结果是:";
     echo ($int1 ^ $int2) ."
    "; // 按位异或运算,二进制结果是10
     echo " ~ ".$int2."的结果是:";
     echo (~ $int2) ."
    "; // 按位取反运算,二进制结果是11111010
     echo $int1." >> 2的结果是:";
     echo ($int1 >> 2) ."
    "; // 向右移2位运算,二进制结果是1
     echo $int2." << 1的结果是:";
     echo ($int2 << 1) ."
    "; // 向左移1位运算,二进制结果是10
     ?>
     程序运行结果如图3.12所示。
     7. 三元运算符 三元运算符的作用是提供简单的逻辑判断,其基本语法格式如下:
     (条件表达式) ? (表达式1): (表达式2)
     如果条件表达式的结果为true,则返回表达式1的值,否则返回表达式2的值。
     例3.16三元运算符用法实例。代码如下:
          $int1 = 7;
     $int2 = 5;
     echo "$int1".">"."$int2";
     echo ($int1 > $int2) ? "正确":"错误";//三元运算
     echo "
    ";
     echo $int1."<".$int2;
     echo ($int1 < $int2) ? "正确":"错误"."
    ";
     ?>
     程序运行结果如图3.13所示。
     图3.12按位运算符
     图3.13三元运算符
     8. 运算符的优先级与结合规则
     运算符的优先级是在表达式中各个运算符参与运算的先后顺序; 运算符的结合性指定相同优先级运算符的运算顺序。
     运算符的结合性可以有两个方向,即从左到右或从右到左。从左到右的结合性表示同级运算符的执行顺序为从左到右; 从右到左的结合性表示同级运算符的执行顺序为从右到左。
     表3.8中列出了PHP支持的运算符的完整列表,表中的运算符是按照优先级从高到低的顺序排列的。
     表3.8运算符的优先级
     优先级结 合 方 向运算符
     1非结合new
     2从左到右[
     3从右到左++ -- ~ (int)(float)(string)(array)(object) (bool)@
     4非结合instanceof
     5从右到左!
     6从左到右*/%
     7从左到右+-.
     8从左到右??
     9非结合==!====!==<>
     10从左到右&
     11从左到右^
     12从左到右|
     13从左到右&&
     14从左到右||
     15从左到右?:
     16从右到左= += -= *= /= .= %= &= |= ^= ?= ?= => 17从左到右and
     18从左到右xor
     19从左到右or
     20从左到右,
     注意: 在表达式中,还有一个优先级优选的运算符是小括号(),它可以提升其内运算符的优先级。
     3.4.2表达式
     表达式就是由常量、变量和运算符组成的符合语法要求的式子。在3.4.1小节中介绍运算符的时候,已经涉及了一些表达式。例如算术表达式(13-5 *17)、字符串表达式("abc"."web")、赋值表达式($int1+=$int2)、关系表达式(i==23)和逻辑表达式($bool1||$bool2&&$bool3)。
     课堂实践3?1
     在本书后面章节中介绍的数组、函数、对象等都可以成为表达式的一部分。
     课堂实践3?1: 基本语法综合应用
     (1) 利用预定义变量,接收用户输入的内容。代码如下:
          //$_POST后面加上username,将字符串放在中括号里面,就得到了表单里面的     "text" name="username" /> 的值
     echo "用户名:".$_PO

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网