




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 初识PHPPHP+MySQL动态网站开发学习目标/Target 熟悉网站的概念和发展历史 熟悉PHP的概念和特点 掌握Visual Studio Code代码编辑器的使用 掌握PHP开发环境的搭建方法 掌握Web服务器的配置方法章节概述/ SummaryPHP是一种运行在服务器端的脚本语言。自PHP 5版本发布以来,PHP以其快速的风格、丰富的函数和开放的源代码,迅速在Web应用开发中占据了重要地位,成为世界上最流行的Web应用编程语言之一。为了使读者对PHP有一个初步的认识,本章将对网站和PHP的基本概念、Visual Studio Code代码编辑器的使用、开发环境的搭建,以及We
2、b服务器的配置进行详细讲解。目录/Contents01020304网站简介PHP简介Visual Studio Code代码编辑器搭建开发环境05Web服务器配置网站简介 认识网站 先定一个小目标!了解网站的概念,能够说出什么是网站及常见的网站类型1.1.1 认识网站网站(Website)是指在因特网上根据一定的规则,使用超文本标记语言(Hyper Text Markup Language,HTML)制作的用于展示特定内容的相关网页集合。常见的网站类型有新闻、视频、购物、微博、论坛等。1.1.2 网站的访问 先定一个小目标!了解网站的访问流程,能够说出URL的组成部分1.1.2
3、 网站的访问网站的访问流程:1.1.2 网站的访问统一资源定位符(Uniform Resource Locator,URL)是用户在浏览器中输入的访问地址。协议:/主机地址:端口/资源路径?参数协议:在网络中传输数据,通常使用HTTP或HTTPS。主机地址:网站服务器的访问地址,可以通过IP或域名进行访问。端口:表示访问服务器中的哪一个端口。HTTP的默认端口为80,HTTPS的默认端口为443。资源路径:文件资源在服务器上对应的路径。参数:浏览器为服务器提供的参数信息,通常是“名字=值”的形式,如果有多个参数,使用“&”字符进行分隔。参数解释示例1.1.3 网站的发展历史 先定一个小目标!了
4、解网站的发展历史,能够说出网站的发展趋势1.1.3 网站的发展历史Web 2.0时代用户交互时代,以用户为核心Web 1.0时代数据展示时代,以数据为核心Web 3.0时代用户为主时代,以智能为核心网站的发展经历了3个阶段:PHP简介 PHP概述 先定一个小目标!熟悉PHP的概念,能够说出什么是PHP1.2.1 PHP概述PHP(PHP: Hypertext Preprocessor,超文本预处理器)是一种运行在服务器端的脚本语言,用于开发动态网站。动态网站需要设计网页和使用数据库,使网站的内容可以动态化,增强网页浏览者与Web服务器之间的信息交互。 30 对比动态网页和静态网
5、页1.2.1 PHP概述作者:Rasmus Lerdorf(拉斯马斯勒德尔夫)发展历程:PHP最初为Personal Home Page(个人主页)的缩写,它是一个工具集,于1994年创建,用来显示Rasmus Lerdorf的个人履历及统计网页流量。后来,Rasmus Lerdorf使用C语言重新编写了这个工具,并可以访问数据库,这些程序和一些表单解释器(Form Interpreter)整合起来称为PHP/FI。PHP的作者和发展历程:1.2.1 PHP概述PHP的开发平台LAMP:从最初的PHP/FI到现在的PHP 5、PHP 7,PHP的发展经过了多次的重新编写和改进,发展十分迅速,它
6、与Linux操作系统、Apache服务器和MySQL数据库一起共同组成了一个强大的Web应用程序平台,简称LAMP。1.2.2 PHP的特点 先定一个小目标!熟悉PHP的特点,能够说出PHP具有的特点1.2.2 PHP的特点开源免费跨平台性面向对象支持多种数据库快捷性PHP是开源的,并且可以免费使用PHP的跨平台性很好,方便移植,在Linux平台和Windows平台上都可以运行。PHP提供了类和对象的特征,使用PHP进行Web开发时,可以选择面向对象的方式编程。PHP支持ODBC(开放数据库互联),可以连接任何支持该标准的数据库,如MySQL、Oracle、等,PHP与MySQL是最佳搭档,使
7、用得最多。PHP编辑简单、实用性强、程序开发快,很多基于MVC设计模式的框架,提高开发速度。1.2.3 PHP开发平台 先定一个小目标!熟悉PHP开发平台的组成部分,能够说出每个部分的作用1.2.3 PHP开发平台在网络中有各种各样的服务器,这些服务器需要安装操作系统。常见的服务器操作系统有Windows Server、Linux等。操作系统操作系统安装Web服务器软件才能进行HTTP访问。常见的Web服务器有IIS、Apache、Nginx。Web服务器用于网站数据的存储与管理,如MySQL。数据库用于解析PHP脚本文件、访问数据库等,是运行PHP代码所必需的软件。PHP软件PHP开发平台组
8、成1.2.3 PHP开发平台Web服务器在处理访问请求时,会判断当前请求的目标是静态资源还是动态资源。如果是静态资源,则直接读取文件返回给浏览器。如果是动态资源,则调用PHP来进行处理。动态网站的运行流程Visual Studio Code代码编辑器1.31.3 Visual Studio Code代码编辑器 先定一个小目标!掌握Visual Studio Code编辑器的安装,能够独立对其安装和配置1.3 Visual Studio Code代码编辑器Visual Studio Code(简称VS Code)是微软开发的一款代码编辑器。具有免费、开源、轻量级、高性能、跨平台特点。VS Cod
9、e主界面1.3 Visual Studio Code代码编辑器在VS Code主界面中单击“打开文件夹”,在弹出的浏览窗口中选择某个文件夹,即可进入代码编写环境。VS Code代码编写环境1.4搭建开发环境1.4.1 安装Apache 先定一个小目标!掌握Apache的安装,能够独立完成Apache的安装与配置1.4.1 安装ApacheApache HTTP Server(简称Apache)是Apache软件基金会发布的一款Web服务器软件。由于其开源、跨平台和安全性的特点被广泛使用。准备工作获取Apache解压与配置安装Apache启动Apache服务12345创建C:webapache2
10、.4目录,作为Apache的安装目录。从Apache官方网站下载安装包。将安装包的文件解压到指定目录下,修改Apache相关配置。在命令行中切换到Apache的安装目录,执行命令安装Apache。Apache提供的binApacheMonitor.exe用于管理Apache服务。下载安装包在Apache Lounge网站中获取编译的版本,下载httpd-2.4.38-win32-VC15.zip这个版本。解压安装包打开下载压缩包,将Apache24目录中的文件解压到C:webapache2.4目录。安装运行库在安装Apache前需要先在Windows系统中安装Microsoft Visual
11、C+ 2017运行库。获取Apache1.4.1 安装Apache配置安装路径在confhttpd.conf配置正确的安装路径:Define SRVROOT C:webapache2.4配置服务器域名在confhttpd.conf中去掉服务器域名的注释:ServerName :80解压与配置1.4.1 安装Apache安装执行命令安装Apachehttpd -k install -n Apache2.4卸载httpd -k uninstall-n Apache2.4安装Apache1.4.1 安装Apache启动Apache服务选择Start启动服务,当图标由红色变为绿色表示启动成功启动Apa
12、che服务1.4.1 安装Apache访问Apache默认站点在浏览器访问本机站点http:/localhost,如果显示“It works !”说明Apache正常运行1.4.2 安装PHP 先定一个小目标!掌握PHP的安装,能够独立搭建PHP开发环境1.4.2 安装PHP获取PHP解压与配置在Apache中引入PHP重启Apache查看安装结果12345从PHP官方网站下载安装包。将安装包解压到指定目录,创建配置文件并修改相关配置项。在Apache的配置文件中引入PHP模块。点击Apache服务图标,选择Restart重启Apache服务。创建测试文件,查看PHP的状态信息。安装PHP的基
13、本步骤:获取PHP1.4.2 安装PHP下载安装包选择PHP 7.3.19、Thread Safe版本下载解压与配置1.4.2 安装PHP解压将压缩包解压,保存到C:webphp7.3目录中配置PHP扩展所在目录修改php.iniextension_dir = C:webphp7.3ext配置PHP的时区date.timezone = PRC在Apache中引入PHP1.4.2 安装PHPLoadModule php7_module C:/web/php7.3/php7apache2_4.dll setHandler application/x-httpd-phpPHPIniDir C:/we
14、b/php7.3LoadFile C:/web/php7.3/libssh2.dll修改Apache配置文件httpd.conf,引入PHP模块、配置索引页。 DirectoryIndex index.html index.php1.4.2 安装PHP重启Apache通过Apache Service Monitor可以快捷地控制Apache服务的启动、停止和重新启动。1.4.2 安装PHP在C:webapache2.4htdocs下创建test.php文件,查看PHP状态信息。查看安装结果1.5Web服务器配置1.5.1 配置虚拟主机 先定一个小目标!掌握虚拟主机的配置方法,能够根据不同需求配
15、置虚拟主机1.5.1 配置虚拟主机Apache虚拟主机的访问过程:1.5.1 配置虚拟主机修改Apache的配置文件httpd.conf,去掉“#”号注释启用虚拟主机配置文件:Include conf/extra/httpd-vhosts.conf在httpd-vhosts.conf中配置虚拟主机:DocumentRoot C:/web/apache2.4/htdocs ServerName localhostDocumentRoot C:/web/apache2.4/htdocs/www.php.testServerName www.php.test1.5.1 配置虚拟主机在htdocs目录
16、中创建www.php.test目录,在该目录下创建index.html文件,内容为“Welcome www.php.test”。修改Apache配置文件后,重启Apache服务,使配置文件生效。通过浏览器访问虚拟主机:1.5.2 访问权限控制 先定一个小目标!掌握访问权限控制的配置方法,能够根据不同需求访问目录1.5.2 访问权限控制# 第1处配置AllowOverride noneRequire all denied# 第2处配置Options Indexes FollowSymLinksAllowOverride NoneRequire all granted配置示例Require all
17、 denied表示阻止所有访问Require all granted表示允许所有访问Require local表示允许本地访问AllowOverride none表示不读取分布式配置文件AllowOverride All表示允许读取分布式配置文件Options Indexes表示启用Apache的目录浏览功能Options -Indexes表示关闭Apache的目录浏览功能我们可以对指定的目录进行访问权限控制。1.5.3 【案例】按照要求配置虚拟主机 先定一个小目标!掌握根据需求配置虚拟主机的方法,能够灵活配置不同的虚拟主机1.5.3 【案例】按照要求配置虚拟主机DocumentRoot C:
18、/web/www/www.admin.testServerName www.admin.testOptions -indexes AllowOverride All Require local配置虚拟主机案例需求配置域名为www.admin.test的虚拟主机,将目录指定为C:/web/www/www.admin.test关闭目录浏览功能,开启分布式配置文件,只允许本地访问。1.5.3 【案例】按照要求配置虚拟主机创建C:webwwwwww.admin.test,在该目录下创建index.html,内容为“Welcome index.html”,访问测试。虚拟主机访问测试1.5.3 【案例】按
19、照要求配置虚拟主机测试目录浏览功能是否关闭,在站点目录下创建sub子目录,在子目录中随意放入一些文件,访问测试。虚拟主机访问测试1.5.3 【案例】按照要求配置虚拟主机在sub目录下创建“.htaccess”文件,内容为“Options indexes”开启目录浏览功能,访问测试。虚拟主机访问测试本章小结本章首先讲解了网站和PHP语言的相关知识,然后对VS Code编辑器的使用、PHP开发环境的搭建和Web服务器的配置进行讲解,最后通过案例完成对虚拟主机的配置。通过学习本章的内容,相信读者对PHP语言已有了初步的认识,并掌握开发环境的搭建和虚拟主机的配置。本章小结第2章 PHP语法基础PHP+
20、MySQL动态网站开发学习目标/Target 掌握PHP标记、注释的基本使用 掌握常量和变量在程序中的定义、使用与区别 掌握PHP中的数据类型和运算符的使用 掌握分支结构、循环结构和跳转语句的使用章节概述/ Summary学习一门语言就像盖大楼一样,要想盖一幢安全、稳固的大楼,必须要有一个夯实的地基。同样地,要掌握并熟练使用PHP语言开发网站,必须充分了解PHP语言的基础知识。本章将针对PHP语法基础进行详细讲解。目录/Contents01020304PHP标记与注释变量与常量数据类型运算符05流程控制PHP标记与注释 PHP标记 先定一个小目标!掌握PHP标记的基本使用,能够
21、正确书写PHP标记2.1.1 PHP标记PHP标记:用来在HTML中对PHP代码进行标识,从而区分HTML与PHP代码。PHP标记以“”结束。 Hello HTML 在HTML中使用PHP标记2.1.1 PHP标记对于纯PHP代码文件,应省略结束标记,并且开始标记要顶格书写。?php echo 生命在于运动!;纯PHP代码文件注意:PHP中还有一种短标记,以“”结束。在使用时,需在php.ini文件中设置short_open_tag的值为on,为了保证程序的兼容性,不推荐使用短标记。2.1.2 注释 先定一个小目标!掌握注释的使用方法,能够使用单行注释和多行注释对程序代码进行解释说明2.1.2
22、 注释echo 生命在于运动!; / 单行注释单行注释/* 多行注释*/echo 生命在于运动!;多行注释注释:对程序代码的解释和说明,使代码更易于阅读与维护,在解析时会被解析器忽略。PHP中有单行注释“/”和多行注释“/*/”。2.1.3 语句结束符 先定一个小目标!掌握语句结束符的使用方法,能够在程序中正确使用语句结束符2.1.3 语句结束符一条语句结束后,需要写语句结束符“;”。如果没有写语句结束符,运行时就会报错。?phpecho 生命在于运动! / 缺少结束符 注意:Parser error表示PHP脚本解析错误,syntax error表示语法错误。示例代码运行结果2.1.4 【案
23、例】在HTML中嵌入PHP代码 先定一个小目标!掌握在HTML中嵌入PHP代码的方法,能够在程序中熟练使用PHP标记和输出语句2.1.4 【案例】在HTML中嵌入PHP代码 Document 案例:在HTML中嵌入PHP代码变量与常量 变量 先定一个小目标!掌握变量的使用方法,能够区分传值赋值和引用赋值的区别2.2.1 变量变量:保存可变数据的容器。变量是由“$”符号和变量名组成的。例如“$num” 。PHP是弱类型语言,变量不需要事先声明,就可以直接进行赋值使用。变量赋值分为:传值赋值(默认)和引用赋值。$age = 12; / 定义变量$age,赋值为12$num = $a
24、ge; / 将$age的值赋值给$num$age = 100; / 将$age的值修改为100echo $num; / 输出$num的值,结果为12传值赋值代码演示$age = 12;$num = &$age; / 引用赋值$age = 100; / 修改其中一个变量的值为100echo $num; / 另一个变量的值也变为100引用赋值代码演示2.2.1 变量程序中定义的变量名、函数名、类名、方法名统称为标识符。定义标识符的规则:标识符只能由字母、数字和下画线组成。标识符可以由一个或多个字符组成,必须以字母或下画线开头。当标识符用作变量名时,区分大小写。若标识符由多个单词组成,使用下画线分隔
25、,如:user_name。多学一招:标识符2.2.1 变量多学一招:标识符$test;/ test是合法标识符$_test;/ _test是合法标识符$test88; / test88是合法标识符$66test; / 66test是非法标识符$123;/ 123是非法标识符$te st;/ te st是非法标识符$*test;/ *test是非法标识符标识符示例2.2.2 可变变量 先定一个小目标!熟悉什么是可变变量,能够在程序中正确使用可变变量2.2.2 可变变量可变变量:用来在开发时动态地改变一个变量的名称。$a = say;$say = Hello;$Hello = Lucy;echo
26、$a;/ 输出结果:sayecho $a;/ 输出结果:Helloecho $a;/ 输出结果:Lucy注意:若变量$a的值是数字,则可变变量$a就会出现非法变量名的情况。因此,开发时可变变量的运用,需要酌情考虑。可变变量代码示例2.2.3 常量 先定一个小目标!掌握常量的概念,能够使用define()函数和const关键字定义常量2.2.3 常量常量:保存脚本运行过程中值始终保持不变的量,常量一旦被定义就不能修改或重新定义。PHP中通常使用define()或const关键字来定义常量。/ 定义常量CON,值为hello,大小写敏感define(CON, hello); echo CON; /
27、 输出结果:helloecho constant(CON); / 输出结果:hellodefine()代码示例const PI = 3.14; / 定义常量PI,赋值为3.14echo PI; / 输出常量PI的值,结果为3.14const关键字代码示例2.2.4 预定义常量 先定一个小目标!掌握预定义常量,能够熟练使用PHP中常用的预定义常量2.2.4 预定义常量常量名功能描述PHP_VERSION获取PHP的版本信息,如7.3.19PHP_OS获取解析PHP的操作系统类型,如:WINNTPHP_INT_MAX获取PHP中整型数的最大值2147483647PHP_INT_SIZE获取PHP中
28、整型数的字长,如:4E_ERROR表示运行时致命性错误,使用1表示E_WARNING表示运行时警告错误(非致命),使用2表示E_PARSE表示编译时解析错误,使用4表示E_NOTICE表示运行时提醒信息,使用8表示预定义常量:PHP预先定义好的常量,用来获取PHP中的信息。2.2.4 预定义常量多学一招:关键字abstractandasbreakcallablecasecatchclasscloneconstcontinuedeclaredefaultechoelseextendsfinalfinallyforforeachfunctionglobalifincludenamespacenew
29、orprintprivateprotectedpublicrequirereturnstaticswitchthrowtraittryusevarwhileyield关键字:编程语言里预先定义好并赋予了特殊含义的单词,也称作保留字。注意:关键字不能作为常量、函数名或类名使用,关键字不推荐作为变量名使用,容易混淆。常见的关键字2.2.5 【案例】显示服务器信息 先定一个小目标!掌握显示服务器信息案例的实现方法,能够在程序中熟练使用变量和常量2.2.5 【案例】显示服务器信息 服务器信息展示 当前PHP版本号: 操作系统的类型:案例:显示服务器信息2.3数据类型2.3.1 数据类型分类 先定一个小
30、目标!掌握PHP中数据类型的分类,能够正确使用这些类型操作数据2.3.1 数据类型分类布尔型(bool)、整型(int)浮点型(float)、字符串型(string)标量类型数组(array)、对象(object)复合类型资源(resource)、空值(NULL)特殊类型数据类型布尔型2.3.1 数据类型分类$flag1 = true;/ 将true赋值给变量$flag1$flag2 = false;/ 将false赋值为变量$flag2布尔型:用于逻辑判断,只有true和false两个值,表示“真”和“假”,不区分大小写。布尔型的使用示例整型2.3.1 数据类型分类$oct = 073;/
31、八进制数值59$dec = 59;/ 十进制数$hex = 0 x3b;/ 十六进制数值59整型:用于表示整数,由八进制、十进制和十六进制表示,前面加上“+”或“-”符号表示正数或负数。八进制数:使用07表示,且数字前必须加上0。十六进制数:使用09和AF表示,数字前必须加上0 x。整型的使用示例浮点型2.3.1 数据类型分类$fnum1 = 1.759; / 标准格式$fnum2 = -4.382; / 标准格式$fnum3 = 3.14E5; / 科学记数法格式$fnum4 = 7.469E-3; / 科学记数法格式浮点型:用于保存浮点数或整数,浮点数在程序中用来表示小数。浮点数通常有两种
32、表示方式:标准格式和科学记数法格式。浮点型的使用示例字符串型2.3.1 数据类型分类echo 生命在于运动!;echo 生命在于 . 运动!;echo 生命在于, 运动!; / 输出结果:生命在于运动!字符串:由连续的字母、数字或字符组成的字符序列。字符串通常使用单引号或双引号作为定界符。注意:“.”是字符串连接符,用于连接字符串、数字、变量或常量等;“,”仅适用于echo。字符串型的使用示例2.3.2 字符串解析 先定一个小目标!掌握什么是字符串解析,能够说出单引号和双引号解析字符串的区别2.3.2 字符串解析$name = Tom;$area = China;echo $name . fr
33、om $area; / 输出结果:Tom from Chinaecho $name . from $area; / 输出结果:Tom from $area单引号字符串和双引号字符串的区别:单引号字符串中书写的变量名会原样输出,双引号字符串中会被解析。字符串的解析代码示例2.3.2 字符串解析界定变量:在双引号字符串中,使用“”对变量进行界定。$ap = ma;$apple = test;echo $apple;/ 输出结果:testecho $apple;/ 输出结果:maple界定变量代码示例2.3.3 数据类型检测 先定一个小目标!掌握什么是数据类型检测,能够使用数据类型检测函数检测数据类
34、型2.3.3 数据类型检测检测数据类型:使用内置的is_*()函数检测,如果符合检测的数据类型,返回true,否则返回false。函数名称功能描述is_bool()检测是否为布尔类型is_string()检测是否为字符串类型is_float()检测是否为浮点类型is_int()检测是否为整型is_null()检测是否为空值is_array()检测是否为数组is_resource()检测是否为资源is_object()检测是否为对象类型is_numeric()检测是否为数字或由数字组成的字符串2.3.3 数据类型检测var_dump( is_bool(1) );/ 输出结果: bool(fals
35、e)var_dump( is_string(php) );/ 输出结果: bool(true)var_dump( is_float(23) );/ 输出结果: bool(false)var_dump( is_int(23.0) );/ 输出结果: bool(false)var_dump( is_numeric(45.6) );/ 输出结果: bool(true)数据类型检测示例2.3.4 数据类型转换 先定一个小目标!掌握数据类型转换的方式,能够说出自动转换规则,能够使用强制转换函数转换数据类型自动类型转换2.3.4 数据类型转换当运算与期望的结果类型不匹配时,PHP将自动进行类型转换,无需开
36、发人员做任何操作。常见的自动类型转换有3种,分别为转换成布尔型、转换成整型和转换成字符串型。2.3.4 数据类型转换整型值0、浮点型值0.0、空字符串、字符串“0” false其他值 true转换成布尔型布尔值true 1;布尔值false 0浮点型转换成整型向下取整若字符串以数字开始,则使用该数值,否则转换为0转换成整型布尔值true “1”;布尔值false 空字符串整型、浮点型转换成字符串,直接将数字转换成字符串转换成字符串型数据类型转换自动类型转换自动类型转换示例2.3.4 数据类型转换var_dump( 0 = false ); / 运行结果:bool(true)var_dump(
37、NULL = false ); / 运行结果:bool(true)var_dump( 888php = 888 ); / 运行结果:bool(true)var_dump( true + 1 ); / 运行结果:int(2)var_dump( 3 ); / 运行结果:string(1) 3强制类型转换2.3.4 数据类型转换强制转换数据类型:在要转换的数据或变量之前加上“(目标类型)”即可。强制类型功能描述强制类型功能描述(boolean)或(bool)转为布尔型(float)转为浮点型(string)转为字符串型(array)转为数组(integer)或(int)转为整型(object)转为对
38、象强制类型转换示例2.3.4 数据类型转换var_dump(boolean)-5.9); / 运行结果:bool(true)var_dump(integer)hello);/ 运行结果:int(0)var_dump(float)false); / 运行结果:float(0)var_dump(string)12); / 运行结果:string(2) 122.4运算符2.4.1 算术运算符 先定一个小目标!掌握PHP中常用的算术运算符,能够正确使用这些运算符对数据或变量进行四则运算2.4.1 算术运算符运算符作用范例结果+加echo 5 + 5;10-减echo 6 - 4;2*乘echo 3 *
39、 4;12/除echo 5 / 5;1%取模(即算术中的求余数)echo 7 % 5;2注意:运算顺序要遵循数学中“先乘除、后加减”的原则; 取模运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。算术运算符:用来进行数学运算的符号。2.4.2 赋值运算符 先定一个小目标!掌握PHP中常用的赋值运算符,能够正确使用这些运算符给变量赋值2.4.2 赋值运算符运算符作用范例结果=赋值$a = 3; $b = 2;$a = 3; $b = 2;+=加并赋值$a = 3; $b = 2; $a += $b;$a = 5; $b = 2;-=减并赋值$a = 3; $
40、b = 2; $a -= $b;$a = 1; $b = 2;*=乘并赋值$a = 3; $b = 2; $a *= $b;$a = 6; $b = 2;/=除并赋值$a = 3; $b = 2; $a /= $b;$a = 1.5; $b = 2;%=模并赋值$a = 3; $b = 2; $a %= $b;$a = 1; $b = 2;.=连接并赋值$a = abc; $a .= def;$a = abcdef;赋值运算符:它是二元运算符,有两个操作数,用来把赋值运算符右边的值赋给左边的变量。2.4.2 赋值运算符多学一招:表达式PHP中任何有值的内容都可以理解为表达式,利用表达式可以非常
41、灵活地进行代码编写。$a = 1;/ 将表达式“1”的值赋值给$aecho $a = 1;/ 输出表达式“$a = 1”的值echo $a + 4;/ 输出表达式“$a + 4”的值$a = $a + 4;/ 将表达式“$a + 4”的值赋值给$a$b = $a = 1;/ 将表达式“$a = 1”的值赋值给$becho 5, 6;/ 输出表达式“5”和表达式“6”的值echo PHP_VERSION;/ 输出表达式“PHP_VERSION”的值表达式的使用示例2.4.3 【案例】商品价格计算 先定一个小目标!掌握使用算术运算符和赋值运算符对数据进行计算的方法,能够在程序中熟练使用这些运算符2
42、.4.3 【案例】商品价格计算若用户在一个全场8折的网站中购买了2斤香蕉、1斤苹果和3斤橘子,它们的价格分别为7.99元/斤、6.89元/斤、3.99元/斤,如何使用PHP程序来计算此用户实际需支付的费用呢?请通过PHP中提供的变量、常量、算术运算符以及赋值运算符等相关知识实现PHP中的商品价格计算。需求分析2.4.4 错误抑制运算符 先定一个小目标!熟悉什么是错误抑制运算符,能够对表达式结果进行错误抑制2.4.4 错误抑制运算符错误抑制运算符:用来抑制错误的输出,在可能出现错误的代码前加符号。错误抑制符只针对就近表达式,如果针对结果,需要将表达式使用小括号“( )”包裹。$num1 = 10
43、 / 0;/ 输出结果会报错,除数不能为0$num2 = (10 / 0);/ 输出结果不会报错错误抑制运算符的使用示例2.4.5 比较运算符 先定一个小目标!掌握PHP中常用的比较运算符,能够正确使用这些运算符对变量或表达式进行比较2.4.5 比较运算符运算符运算范例结果=等于5 = 4false!=不等于5 != 4true不等于5 4true=全等5 = 5true!=不全等5 != 5true大于5 5false=大于或等于5 = 5true小于5 5false=小于或等于5 = 5true比较运算符:比较两个变量或表达式,其结果是一个布尔类型的true或false。2.4.6 合并运
44、算符 先定一个小目标!熟悉合并运算符的语法,能够使用合并运算符对变量进行判定2.4.6 合并运算符合并运算符:PHP 7新增的运算符,用于简单的数据存在性判定。 ? 语法格式$age = $age ? 18;代码示例如果$age存在,则使用$age的值,如果$age不存在,则将$age的值设置为18。2.4.7 三元运算符 先定一个小目标!熟悉三元运算符的语法,能够正确使用三元运算符判断表达式2.4.7 三元运算符三元运算符:又称为三目运算符,它是一种特殊的运算符。如果变量$age的值大于或等于18,输出结果为“已成年”,如果小于18,则输出结果为未成年。 ? : 语法格式$age = 10;
45、echo $age = 18 ? 已成年 : 未成年;代码示例2.4.8 逻辑运算符 先定一个小目标!掌握PHP中常用的逻辑运算符,能够正确使用这些运算符对表达式进行逻辑判断2.4.8 逻辑运算符运算符运算范例结果&与$a & $b$a和$b都为true,结果为true,否则为false|或$a | $b$a和$b中至少有一个为true,结果为true,否则为false!非!$a若$a为false,结果为true,否则相反xor异或$a xor $b$a和$b一个为true,一个为false,结果true,否则falseand与$a and $b与“&”相同,但优先级较低or或$a or $b
46、与“|”相同,但优先级较低逻辑运算符:用于逻辑判断的符号,其返回值类型是布尔类型。2.4.9 递增递减运算符 先定一个小目标!掌握PHP中常用的递增递减运算符,能够对变量进行递增递减运算2.4.9 递增递减运算符运算符运算范例结果+自增(前)$a = 2; $b = +$a;$a = 3; $b = 3;+自增(后)$a = 2; $b = $a+;$a = 3; $b = 2;-自减(前)$a = 2; $b = -$a;$a = 1; $b = 1;-自减(后)$a = 2; $b = $a-;$a = 1; $b = 2;递增递减运算符:也称为自增自减运算符,是一种特定形式的复合赋值运算
47、符。2.4.10 位运算符 先定一个小目标!熟悉PHP中常用的位运算符,能够准确说出位运算符所对应的操作2.4.10 位运算符运算符名称范例结果&按位与$a & $b$a和$b各二进制位进行“与”操作后的结果|按位或$a | $b$a和$b各二进制位进行“或”操作后的结果按位非$a$a的各二进制位进行“非”操作后的结果按位异或$a $b$a和$b各二进制位进行“异或”操作后的结果左移$a 右移$a $b将$a各二进制位右移b位(右移一位相当于该数除以2)位运算符:针对二进制数的每一位进行运算。2.4.10 位运算符位运算符可以对整型和字符串进行位运算:在对数字进行位运算之前,程序会将所有的操作
48、数转换成二进制数,然后再逐位运算。在对字符进行位运算之前,首先将字符转换成对应的ASCII码(数字),然后对产生的数字进行运算,再把运算结果(数字)转换成对应的字符。2.4.11 运算符优先级 先定一个小目标!掌握运算符执行的先后顺序,能够在表达式中正确使用这些运算符2.4.11 运算符优先级结合方向运算符结合方向运算符无new左左左|右+ - (int) (float) (string) (array) (object) 左&无instanceof左|右!左? :左* / % 右= += -= *= /= .= %= &= |= = = 左+ - . 左and左左xor无= != = !=
49、左or左&左,运算符优先级:一个表达式中有多个运算符,这些运算符会遵循一定的先后顺序。2.4.11 运算符优先级改变运算符的优先级:在表达式中使用小括号“( )”可以提升运算符的优先级。$num1 = 4 + 3 * 2;/ 输出结果为10$num2 = (4 + 3) * 2;/ 输出结果为14改变运算符优先级代码示例2.5流程控制2.5.1 分支结构 先定一个小目标!掌握分支结构语句的语法,能够使用分支结构语句进行条件判断2.5.1 分支结构if语句if语句也称为单分支语句,用于判断当满足某种条件时就进行某种处理。if (判断条件) / 代码段语法格式if语句流程图2.5.1 分支结构if
50、else语句ifelse语句也称为双分支语句,当满足某种条件时就进行某种处理,否则进行另一种处理。if (判断条件) / 代码段1 else / 代码段2语法格式ifelse语句流程图2.5.1 分支结构ifelse ifelse语句ifelse ifelse语句也称为多分支语句,用于对多种条件进行判断,并进行不同处理。if (判断条件1) / 代码段1 else if (判断条件2) / 代码段2.else if (判断条件n) / 代码段n else / 代码段n + 1语法格式ifelse语句流程图2.5.1 分支结构switch语句也是多分支语句,使代码更加清晰简洁、便于阅读。swit
51、ch (表达式) case 值1: 代码块1; break; case 值2: 代码块2; break; . default:代码块n;switch语句语法格式 switch ($num) case 10: echo $num的值是10; break; case 20: echo $num的值是20; break; / 此处可以添加更多case default: echo $num的值是 . $num; 代码示例2.5.2 【案例】判断学生成绩 先定一个小目标!掌握判断学生成绩等级案例的实现,能够根据案例需求实现学生成绩的判断假设学生成绩范围在0100分之间,规定90100的分数为A级,808
52、9的分数为B级,7079的分数为C级,6069的分数为D级,059的分数为E级。如何通过一个给定的学生分数来判断其成绩等级呢?2.5.2 【案例】判断学生成绩需求分析2.5.3 【案例】判断年份是否为闰年 先定一个小目标!掌握判断年份是否为闰年案例的实现,能够根据案例需求实现闰年的判断2.5.3 【案例】判断年份是否为闰年需求分析闰年是为了弥补人为历法规定造成的年度天数与地球实际公转周期的时间差,那么如何计算哪一年是闰年呢?请通过PHP程序来判断给定的年份是否为闰年。2.5.4 循环结构 先定一个小目标!掌握循环结构语句的基本语法,能够熟练使用循环语句2.5.4 循环结构while语句根据循环
53、条件来判断是否重复执行某一段代码,先判断条件后执行循环体。while (循环条件) 循环体语法格式while语句流程图2.5.4 循环结构dowhile语句do.while语句先无条件执行一次循环体后再判断条件。do 执行语句 while (循环条件);语法格式do.while语句流程图2.5.4 循环结构for语句for循环语句是最常用的循环语句,适合循环次数已知的情况。for (初始化表达式; 循环条件; 操作表达式) 循环体语法格式for语句流程图2.5.4 循环结构动手实践:输出“”字符请使用循环结构中的while语句、dowhile语句、for语句输出5个“”字符。2.5.5 跳转语
54、句 先定一个小目标!掌握跳转语句的区别,能够根据不同的跳转需求使用合适的跳转语句2.5.5 跳转语句跳转语句:用于实现循环执行过程中程序流程的跳转。常用的跳转语句:break语句和continue语句。break用于终止当前循环,跳出循环体。continue用于结束本次循环的执行,开始下一轮循环的执行。2.5.5 跳转语句$sum = 0;/ 用于保存1100内的奇数和for ($i = 1; $i值”表示,多个元素使用“,”分隔。键:数组元素的识别名称,也称数组下标,键是整型的数组称为索引数组,键是字符串型的数组称为关联数组。值:数组元素的内容。$arr1 = 0 = 张三, 1 = 29
55、;/ 索引数组$arr2 = name = 张三, age = 29 ;/ 关联数组索引数据和关联数组代码示例3.2.2 数组的使用 先定一个小目标!掌握数组的使用方法,能够实现数组的定义和数组元素的新增、访问、删除、判断等操作3.2.2 数组的使用定义数组的两种方式:array()语言结构、短数组定义法。/ 使用array()定义数组$info = array(id = 1, name = Tom);$fruit = array(1 = apple, 3 = pear);/ 使用短数组定义数组$info = id = 1, name = Tom;$num = 1, 4, 7, 9;定义数组定
56、义数组代码示例新增数组元素:创建一个数组变量,使用赋值运算符直接给变量赋值。3.2.2 数组的使用$arr = PHP;/ 存储结果:$arr0 = PHP$arr = Java;/ 存储结果:$arr1 = Java$arr3 = C语言;/ 存储结果:$arr3 = C语言$arr5 = C+;/ 存储结果:$arr5 = C+$arrsub = iOS;/ 存储结果:$arrsub = iOS$arr = 网页平面;/ 存储结果:$arr6 = 网页平面新增数组元素新增数组代码示例3.2.2 数组的使用$info = id = 1, name = Tom;/ 输出结果:Tomecho $
57、infoname; / 输出结果:Array ( id = 1 name = Tom )print_r($info);/ 输出结果:array(2) id= int(1) name= string(3) Tom var_dump($info);访问数组:通过数组的键来访问数组元素。访问数组访问数组代码示例3.2.2 数组的使用$fruit = apple, pear;unset($fruit1);print_r($fruit);/ 输出结果:Array ( 0 = apple ) unset($fruit);print_r($fruit);/ 输出结果:Notice: Undefined va
58、riable: fruit.删除数组:使用unset语言结构可以删除数组中的某个元素,也可以删除整个数组。删除数组删除数组代码示例3.2.2 数组的使用$fruit = apple, pear;unset($fruit1);var_dump(isset($fruit1);/ 输出结果:bool(false)判断数组元素是否存在:使用isset()语言结构判断数组中的元素是否存在,返回结果为布尔值。判断数组元素是否存在判断数组元素代码示例3.2.3 数组遍历 先定一个小目标!掌握数组的遍历,能够编写程序依次访问数组中的每一个元素3.2.3 数组遍历数组遍历:依次访问数组中的每个元素,通常使用fo
59、reach语句。$fruit = apple, pear;foreach ($fruit as $key = $value) echo $key . - . $value . ; / 输出结果:0-apple 1-pear数组遍历代码示例3.2.4 数组和字符串的转换 先定一个小目标!掌握数组和字符串的转换,能够实现数组和字符串之间的互相转换3.2.4 数组和字符串的转换数组和字符串之间转换使用的函数:3.2.4 数组和字符串的转换explode()函数:使用字符串分割另一个字符串,返回数组。第1个参数是分隔符,第2个参数是要分割的字符串,第3个是可选参数,表示返回结果最多包含的元素个数,当为
60、负数m时,返回除最后m个元素外的所有元素,当为0时,则把它当做1处理。explode()函数3.2.4 数组和字符串的转换/ 使用“n”作为分隔符对字符串进行分割/ 输出结果:array(3) 0= string(2) ba 1= string(1) a 2= string(1) a var_dump(explode(n, banana);/ 第3个参数为正数,表示规定最多分割成几个元素/ 输出结果:array(2) 0= string(2) ba 1= string(3) ana var_dump(explode(n, banana, 2);/ 第3个参数为负数,表示返回除最后几个元素外的所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外贸英语函电全套课件教学
- 2023-2024学年广西桂林、北海联考高二下学期4月期中考试语文试题(解析版)
- 探秘大雪节气
- 塑造未来:初二学习规划
- 硕士之路指南
- 内蒙古民族幼儿师范高等专科学校《生物医学检验仪器》2023-2024学年第二学期期末试卷
- 天津工程职业技术学院《儿童发展教育原理》2023-2024学年第一学期期末试卷
- 山东省烟台市重点名校2025届普通高中质量检测试题(二)物理试题含解析
- 三门峡市渑池县2025届四年级数学第二学期期末调研模拟试题含解析
- 山西工商学院《介入放射基础》2023-2024学年第一学期期末试卷
- 2024年甘肃兰州事业单位考试真题
- 2025年导游从业资格通关秘籍
- 中国法院知识产权司法保护状况2024
- 2025年4月《粉尘涉爆重大事故隐患解读》应急部
- 四川省绵阳市2025届高三下学期第三次诊断性测试数学试卷(含答案)
- 课题申报书:数智融合驱动高校教师数字素养提升路径研究
- 当代中国外交(外交学院)知到智慧树章节测试课后答案2024年秋外交学院
- 小学科学湘科版六年级下册全册同步练习含答案
- 谈院系两级管理体制下实验中心与教研室的关系
- 房屋建筑物构筑物检查表
- 新时达系统故障排除经验分享
评论
0/150
提交评论