




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PHP语言基础第二单元知识目标理解PHP的基本语法理解变量和常量理解运算符和表达式理解流程控制语句理解命名空间理解函数单元2PHP语言基础能力目标能够正确命名标识符能够定义和使用变量能够定义和使用常量能够使用运算符进行运算能够使用流程控制语句实现业务逻辑能够适合用命名空间和文件引入管理代码能够自定义函数解决问题能够熟练运用系统函数素质目标培养学生解决实际问题的能力培养学生数据分析和处理能力培养学生创新意识和创造力PHP基础知识任务2.12.1.1PHP标记 通常情况下一个PHP文件同时包含HTML代码和PHP代码。PHP代码需要放在PHP标记内部。这里是非PHP代码<?php//这里是PHP代码?>“<?php”表示开始“?>”表示结束当PHP解析器执行PHP文件时,PHP解析器会寻找PHP的开始和结束标记,解析开始和结束标签之间的代码,按照PHP语法运行,没有放在PHP标记内的内容解析器会直接输出。2.1.2PHP注释 在代码中进行解释说明,可以提高代码的可读性,利于后期代码维护。“//”单行注释,C++风格的注释标签,同一行后面的代码会被注释。1“#”单行注释,Shell风格的注释标签,同一行后面的代码会被注释。2以“/*”开头和“*/”结尾的多行注释,注释开始标签和结束标签之间的代码会被注释。32.1.2PHP注释 <?phpecho"使用“//”可以完成单行注释<br>";//echo"看不见我";echo"使用“#”可以完成单行注释<br>";#echo"看不见我";echo"使用“/**/”可以完成多行注释";/*echo"看不见我";echo"看不见我";echo"看不见我";*/?>PHP三种风格注释的使用演示PHP使用注释运行结果通过结果可以看到三种注释后面的内容并没有出现在页面中。2.1.3标识符与关键字标识符是用于命名变量、函数、类、对象等程序元素的名称。标识符是程序员用来引用这些元素的符号,其遵循一系列命名规则以确保代码的清晰性和一致性。标识符只能由数字、字母和下划线构成。1标识符不能以数字开头。2标识符在作为变量名时,区分大小写。3规则例如:title、var123和_name是合法的标识符,而123var、-name和title*是非法的标识符。注意:在此所说的字母包含a-z、A-Z、以及ASCII字符从128到255(0x80-0xff)的字符。2.1.3标识符与关键字__halt_compilerabstractandarrayasbreakcallablecasecatchclasscloneconstcontinuedeclaredefaultdiedoechoelseelseifemptyenddeclareendforendforeachendifendswitchendwhileevalexitextendsfinalfinallyfnforforeachfunctionglobalgotoifimplementsincludeinclude_onceinstanceofinsteadofinterfaceissetlistnamespaceneworprintprivateprotectedpublicrequirerequire_oncereturnstaticswitchtrytraitthrowunsetusevarwhilexoryield
yieldfrom
PHP常见关键字2.1.4变量变量使得程序能够动态地处理信息,而不是在编译时就固定不变。在编程中,变量是用于存储数据值的标识符。基本属性1.变量名2.数据类型3.值4.作用域5.生命周期变量的名称,用于在代码中引用它。变量可以存储的数据类型。变量存储的实际数据。变量在程序中的可见范围。变量从被创建到被销毁的时间。PHP是一种动态类型和弱类型的编程语言,变量的类型在运行时可以改变。所以PHP中声明变量的时候不需要指定数据类型,PHP解析器会根据传入的值自动判断数据类型。2.1.4变量$age=20;$height=168.5;$address="xx小区xx栋xx室";//同一个变量名对应的值发生变化$age=21;$height=168.8;$address="yy小区yy栋yy室";例如年龄$age、身高$height、家庭地址$address可以理解为变量的变量名,20、168.5、“xx小区xx栋xx室”就是变量值,整型、浮点型、字符串型就是变量类型。变量的值可以改变,例如年龄今年20,明年21,身高长了或者搬家后家庭地址变化。要求:1.变量名必须以$符号做前缀,后面跟变量名。2.变量名只能由数字、字母和下划线构成。3.变量名首字母不能是数字。4.变量名区分大小写。2.1.5PHP语句与代码块PHP脚本由一系列PHP语句组成,而每一条PHP语句由表达式和分号组成。编程语言中的表达式是值、变量、常量、函数和运算符的组合,表达式能够计算一个结果。PHP需要在每条语句后面使用英文状态的分号“;”作为分隔符,表示当前语句结束。如果某条语句是整个PHP脚本最后一条语句,其后的分号可以省略。如果多条语句之间存在关系,例如函数、逻辑控制、类的定义等,则可以用一对大括号“{}”将这几条语句括起来,表示一个代码块。大括号的后面不需要加分号。2.1.5PHP语句与代码块<?php//赋值语句,需要加上分号做分隔符$arr=["富强","民主","文明","和谐","自由","平等","公正","法治","爱国","敬业","诚信","友善"];//函数调用语句,需要加上分号做分隔符var_dump($arr);
//输出语句,需要加上分号做分隔符echo"<br>";//函数定义,大括号代码块里面的内容表示函数体,大括号的后面不需要加分号functionhello(){echo"hello";echo"welcometoChina!";}/*函数调用语句,需要加上分号做分隔符,但同时是“PHP结束标记”前的最后一条语句,所以分号可以省略*/hello()?>PHP语句和代码块的使用演示PHP语句和代码块运行结果2.1.5PHP语句与代码块var_dump、echo和print_r在PHP中都可以用于输出变量信息,它们各自有不同的用途和输出格式。1.var_dumpvar_dump()是一个非常强大的函数,用于输出一个或者多个变量的详细信息,包括数据类型、值和长度等。2.echoecho可以输出一个或多个变量,但只能输出它们的值,不能输出详细的变量信息。echo不能用来直接输出数组的内容。3.print_rprint_r()函数功能类似于var_dump()函数,它也输出变量的值和类型,但它的输出更易于阅读,通常用于展示数组和对象的结构。2.1.6动态生成话剧介绍页面结构HTML标签(如<div>、<section>、<nav>等):定义页面的不同部分,如头部、导航栏、主要内容区域、侧边栏和页脚等。CSS:负责页面的视觉样式,如颜色、字体、间距、布局等。CSS允许开发者将样式与内容分离,使得页面的视觉效果可以独立于HTML结构进行设计和调整。JavaScript:负责页面的交互性,如响应用户的点击、表单提交、动态内容加载等。内容内容是网页的实际信息,包括文本、图片、视频、音频等。内容是用户访问网页的主要目的,它传递信息、讲述故事或提供服务。内容通常存储在服务器的数据库中,通过服务器端脚本(如PHP、Node.js等)动态生成,或者直接嵌入到HTML文件中。2.1.6动态生成话剧介绍页面动态生成话剧介绍页面内容运行结果话剧介绍静态页面运行结果话剧介绍的静态页面运行结果.txt动态生成话剧介绍页面内容的运行结果.txt认识数据类型任务2.2PHP三大数据类型标量数据类型1复合数据类型2特殊数据类型32.2.1标量数据类型布尔型整型浮点型字符串布尔型只有两个值,分别是true和false,表示逻辑真和逻辑假,通常在流程控制语句里面使用。整型值包括正整数、负整数和0,可以用二进制、八进制、十进制和十六进制表示值。整型值最前面可以加上“+”或者“-”表示正数或负数,在数字前面加0b表示二进制,加上0表示八进制,加上0x表示十六进制。整型值的取值范围和操作系统有关,PHP中可以通过常量PHP_INT_MIN获取整型值的最小值,通过常量PHP_INT_MAX获取整型值的最大值。浮点型值是含有小数点的数字,浮点型值最前面可以加上“+”或者“-”表示正数或负数。浮点型值支持科学记数表示法,例如3.14和314e-2都是浮点数值。在PHP中,字符串是由字符序列组成的数据类型,它可以包含字母、数字以及特殊字符。PHP提供了四种不同的字符串表示方式:单引号('')、双引号("")、heredoc结构和nowdoc结构。2.2.1标量数据类型<?php//打印布尔值falsevar_dump(false);//打印十六进制数0xffvar_dump(0xff);//打印浮点数3.14var_dump(3.14);//打印字符串社会主义核心价值观var_dump("社会主义核心价值观");
//判断布尔值是否为标量echo"布尔值是标量?".is_scalar(false)."<br>";//判断十六进制数是否为标量echo"整型值是标量?".is_scalar(0xff)."<br>";//判断浮点数是否为标量echo"浮点值是标量?".is_scalar(3.14)."<br>";//判断字符串是否为标量echo"字符串是标量?".is_scalar("社会主义核心价值观");?>标量类型的基本用法演示标量类型的基本用法运行结果2.2.1标量数据类型<?php//打印出字符串echo"<h4>字符串中转义字符</h4>";//双引号转义echo"行胜于言的翻译是\"actionsspeaklouderthanwords\"<br>";//单引号转义echo'单引号\'中\\141输出的结果是字符\141<br>';//双引号转义和8进制转义字符echo"双引号\"中\\141输出的结果是字符\141<br>";//定义一个字符串$str="不负时代,不负韶华,不负党和人民的殷切期望!";//打印出字符串echo"<h4>字符串中变量解析</h4>";echo'单引号字符串中\$str的值是{$str}<br>';echo"双引号字符串中\$str的值是{$str}<br>";//打印出heredoc语法结构字符串echo<<<EOF<divstyle="margin-top:20px;"><buttontype="button"onclick="alert('$str')"style="padding:5px15px;">点我</button></div>EOF;?>四种字符串的使用演示四种字符串的使用运行结果2.2.1标量数据类型<<<EOF字符串内容EOF常用的转义字符heredoc语法结构示例代码转义字符转义说明\n换行\r回车\t水平制表符\\反斜杠\$美元符\”双引号\’单引号\[0-7]{1,3}一个以八进制来表达的字符\x[0-9A-Fa-f]{1,2}一个以十六进制来表达的字符\u{[0-9A-Fa-f]+}一个以unicode编码来表达的字符<<<'EOF'字符串内容EOFnowdoc语法结构示例代码2.2.2复合数据类型数组array1对象object2PHP2种复合数据类型与标量数据类型只有一个值不同,复合数据类型可以包含多个值。2.2.2复合数据类型1数组arrayarray(value1,value2,value3)array(“key1”=>value1,“key2”=>value2,“key3”=>value3,...)$arr[]=value;//向索引数组末尾添加新元素$arr[n]=value;//创建或修改数组中索引为n的元素值$arr[“key”]=value;//创建或修改关联数组中键为key的元素值//关联数组简写方式[“key1”=>value1,“key2”=>value2,“key3”=>value3,...]//索引数组简写方式[value1,value2,value3]array()函数基本语法关联数组基本语法赋值语句基本语法短数组语法基本语法2.2.2复合数据类型2对象object对象是面向对象编程中的一个核心概念,它代表了类的具体实例。在PHP中,类是用户定义的一种数据结构,它封装了数据和操作这些数据的方法。使用new关键字创建一个类的实例时,就创建了一个对象。2.2.2复合数据类型2对象object数组的基本用法运行结果数组的基本用法.txt2.2.3特殊数据类型资源1空值2PHP中2种特殊的数据类型2.2.3特殊数据类型主要目的
让PHP与外部系统进行交互,而这些外部系统的实际实现在PHP之外。对资源类型的引用通常需要通过相关函数来创建,而这些函数负责在PHP中建立连接或关联到外部资源。1资源resource2.2.3特殊数据类型2空值null<?php//打开文件2-7.phpecho'$file=fopen("2-7.php","r"):';$file=fopen("2-7.php","r");//打印文件句柄var_dump($file);//初始化curlecho'$url=curl_init(""):';$url=curl_init("");//打印curl句柄var_dump($url);//销毁文件句柄unset($file);//打印文件句柄var_dump($file);//打印nullvar_dump(null);?>特殊类型特殊类型的示例运行结果2.2.4数据类型判断函数名说明is_array()检测参数是否是数组is_bool()检测参数是否是布尔型is_callable()检测参数是否为合法的可调用结构is_float()检测参数是否是浮点型is_int()检测参数是否是整数is_iterable()检测参数的内容是否是一个可迭代的值is_null()检测参数是否为NULLis_numeric()检测参数是否为数字或数字字符串is_object()检测参数是否是一个对象is_resource()检测参数是否为资源类型常用数据类型判断函数2.2.4数据类型判断常用数据类型判断函数的使用运行结果常用数据类型判断函数的使用.txt2.2.5数据类型转换转布尔值转数字在对布尔类型值进行判断时,若值为0、0.0、“0”、空字符串、空数组、NULL或创建失败的资源,会被自动转换为false;而非零数字、非空字符串、非空数组、对象和有效资源会被自动转换为true。在进行算术运算时,布尔值的false会被转换成0,true会被转换成1。字符串会从左边开始转换为数字,直到遇到第一个非数字字符为止,例如,“12.3abc”在算术运算时会自动转换成浮点数12.3。在下面这些情况下,PHP会自动执行数据类型转换2.2.5数据类型转换在无法自动转换的情况下,需要手动进行强制数据类型转换。使用()进行强制转换1使用专用数据类型转换函数2使用通用数据类型转换函数3强制数据类型转换三种方式2.2.5数据类型转换1强制转换要进行强制数据类型转换,可以在待转换的变量或值前面使用括号括起来指定目标数据类型。2专用数据类型转换函数PHP提供了一系列专用数据类型转换函数,通过这些函数,可以将参数值转换成指定的数据类型。函数名说明intval()转换为整型intboolval()转换为布尔类型boolfloatval(),doubleval()转换为浮点型floatstrval()转换为字符串string专用数据类型转换函数2.2.5数据类型转换3通用数据类型转换函数<?php//自动类型转换echo'1+"12.3abc":';var_dump(1+"12.3abc");//()运算符强制数据类型转换echo'(int)"12.3abc":';var_dump((int)"12.3abc");//专用数据类型转换函数echo'intval("12.3abc"):';var_dump(intval("12.3abc"));//通用数据类型转换函数echo'$v="12.3abc";settype($v,"int"):';$v="12.3abc";settype($v,"int");var_dump($v);?>数据类型转换特殊类型的示例运行结果2.2.5数据类型转换3通用数据类型转换函数数据类型转换方式1.自动类型转换2.强制类型转换运算符3.专用数据类型转换函数4.通用数据类型转换函数表达式1+"12.3abc"会自动进行类型转换,将字符串"12.3abc"转换为浮点数12.3,然后进行加法运算。强制类型转换运算符(int)将字符串"12.3abc"转换为整数。intval是一个专用的数据类型转换函数,将字符串"12.3abc"转换为整数。settype()函数将$v的数据类型转换为整数。2.2.6使用数组存放多部话剧介绍数组在编程中广泛应用,特别适用于存储和操作一组相关数据。通过数组,可以方便地组织、访问和修改多个值,使得处理大量数据更为灵活。数组常用于存储列表、集合、映射等结构,适用于需处理多个相关元素的情景,例如存储学生成绩、商品列表、用户信息等。其索引和关联两种形式,为数据管理和操作提供了强大的工具,使得代码更具可读性和可维护性。2.2.6使用数组存放多部话剧介绍数组存放多部话剧介绍的运行结果注意:这段代码使用了PHP的heredoc语法,这样可以减少代码中的字符串拼接,使代码更简洁。数组存放多部话剧介绍.txt认识变量与常量任务2.32.3.1变量的赋值1直接赋值PHP是一种动态弱类型语言,它允许在不声明变量类型的情况下直接为变量赋值。在PHP中,变量的类型由其存储的值自动确定。变量可以通过直接赋值、传值赋值和传引用赋值等多种方式进行赋值。使用等号(=)运算符为变量赋值。左侧是变量名,右侧是值,这个值可以是任何数据类型。注意:虽然PHP支持中文变量名,但在实际开发中,通常建议使用英文变量名。$variable_name="像海绵汲水一样汲取知识";2.3.1变量的赋值2传值赋值两个变量虽然值相同,但它们是独立的。$variable_old="像海绵汲水一样汲取知识";$variable_new=$variable_old;3传引用赋值传引用赋值的语法是使用&符号。$variable_old="像海绵汲水一样汲取知识";$variable_new=&$variable_old;<?php//直接赋值$msg="像海绵汲水一样汲取知识。";//创建变量msg_1和msg_2,分别赋值msg的值和引用$msg_1=$msg;$msg_2=&$msg;echo"\$msg={$msg}<br>";echo"\$msg_1={$msg_1}<br>";echo"\$msg_2={$msg_2}<br>";//修改msg_2的值,观察msg和msg_1的变化$msg="青年处于人生积累阶段,需要像海绵汲水一样汲取知识。";echo"重新赋值后:<br>";echo"\$msg={$msg}<br>";echo"\$msg_1={$msg_1}<br>";echo"\$msg_2={$msg_2}<br>";?>PHP三种变量赋值的使用2.3.1变量的赋值
PHP三种变量赋值的使用运行结果2.3.2可变变量可变变量的使用运行结果<?php//定义一个变量$key$key="movie_name";//定义一个可变变量$$key$$key="闪闪的红星";//输出变量$key的值echo"\$key=$key";echo"<br>";//输出可变变量$$key的值echo"\$\$key={$$key}";echo"<br>";//输出变量$movie_name的值echo"\$movie_name=$movie_name";?>可变变量的使用可变变量是将一个变量的值作为另外一个变量的变量名,这种做法允许用户动态的改变一个变量的名字。2.3.3预定义变量预定义变量是在PHP中提前定义好的变量,它们具有特殊的用途和含义。这些变量在不同的上下文中用于执行各种任务,如获取用户输入、管理会话、处理表单数据等。预定义变量说明$GLOBALS用来存放全局可用预定义变量,数组类型$_SERVER用来存放服务器和执行环境信息,数组类型$_GET用来存放通过GET方式传递的参数,数组类型$_POST用来存放通过POST方式传递的参数,数组类型$_FILES用来存放通过HTTPPOST方式上传的文件,数组类型$_REQUEST包含了$_GET,$_POST和$_COOKIE的数组$_SESSION用来存放SESSION信息,数组类型$_COOKIE用来存放通过HTTPCookies方式传递的参数,数组类型$_ENV用来存放服务器端环境变量,数组类型常用的预定义变量表2.3.3预定义变量预定义变量的使用运行结果<?php//通过$GLOBALS访问服务器信息echo$GLOBALS["_SERVER"]["HTTP_HOST"];echo"<br>";//通过$_SERVER访问服务器信息echo$_SERVER["HTTP_HOST"];echo"<br>";//打印$GLOBALS详细信息var_dump($GLOBALS);?>预定义变量的使用预定义变量是PHP提供的预定义数组,这些数组非常特别,它们在全局范围内自动生效。这些变量在全局作用域中都是可用的,因此通常被称为自动全局变量或者超全局变量。2.3.3什么是常量常量的命名规则遵循标识符的命名规则,要求只能使用字母、数字和下划线,并且不能以数字开头。为了提高可读性,常量名通常全部使用大写字母,并用下划线分隔单词。在PHP中,常量是那些在脚本执行期间其值保持不变的标识符。与变量不同,常量在定义时不需要前缀美元符号。2.3.3什么是常量常量非常适合用于定义配置值、路径、数据库连接信息等,这些值在整个应用程序中是固定不变的。常量被定义后,它的值不能被改变,尝试修改常量的值会导致一个致命错误。常量两种定义方式:1.使用const关键字强制类型转换运算符2.define()函数2.3.3什么是常量1使用const关键字const关键字定义的常量必须在顶层作用域中声明,即不能在函数或循环体内部使用。constMOVIE_TYPE="红色经典";const关键字定义常量2使用define()函数define()函数允许你在任何地方定义常量,包括在函数内部。define("MOVIE_TYPE","闪闪的红星");define()函数定义常量常量被定义后可以通过两种方式使用:直接使用常量名或者通过constant()函数。2.3.3什么是常量常量的使用运行结果<?php//定义一个常量MOVIE_TYPE,值为"红色经典"constMOVIE_TYPE="红色经典";//定义一个常量MOVIE_NAME,值为"闪闪的红星"define("MOVIE_NAME","闪闪的红星");//输出电影分类echo"<b>电影分类:</b>";echoconstant("MOVIE_TYPE");echo"<br>";//输出电影名echo"<b>电影名:</b>";echoMOVIE_NAME;?>常量的使用2.3.4预定义常量与魔术常量PHP提供了一系列预定义常量,其中包括内核预定义常量和核心扩展库预定义常量。常量说明__LINE__文件中的当前行号__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录__FUNCTION__当前函数的名称__CLASS__当前类的名称__TRAIT__Trait的名字__METHOD__类的方法名__NAMESPACE__当前命名空间的名称ClassName::class完整的类名魔术常量表2.3.4预定义常量与魔术常量魔术常量的使用运行结果<?php//定义一个常量__FILE__,值为2_15.phpdefine("__FILE__","2_15.php");//输出直接访问的魔术常量__FILE__echo"直接访问修改后的魔术常量__FILE__:<br>";echo__FILE__;echo"<br>";//输出constant()访问常量__FILE__echo"constant()修改后的魔术常量__FILE__:<br>";echoconstant("__FILE__");?>魔术常量的使用2.3.5使用常量存放话剧网页相关信息自定义常量使用场景定义应用程序的配置参数,如数据库连接信息、API密钥等。在处理错误和异常时,常量可以用于定义错误码和消息。常量可以用于存储站点的根URL、文件路径等。自定义常量在PHP编程中有多种使用场景,它们通常用于提高代码的可读性、可维护性和灵活性。常量在网页开发中的使用运行结果常量在网页开发中的使用.txt认识运算符与流程控制语句任务2.42.4.1算术运算符算术运算符<?php//定义变量a,赋值为11$a=11;//定义变量b,赋值为2$b=2;//输出变量a和变量b的和echo"$a+$b=".($a+$b)."<br>";//输出变量a和变量b的差echo"$a-$b=".($a-$b)."<br>";//输出变量a和变量b的乘积echo"$a*$b=".($a*$b)."<br>";//输出变量a和变量b的商echo"$a/$b=".($a/$b)."<br>";//输出变量a和变量b的余数echo"$a%$b=".($a%$b)."<br>";//输出变量a和变量b的幂echo"$a**$b=".($a**$b)."<br>";?>算术运算符的使用运行结果运算符名称示例说明+加运算符$a+$b计算运算符左边值加上运算符右边值的和-减运算符$a-$b计算运算符左边值减去运算符右边值的差*乘运算符$a*$b计算运算符左边值乘以运算符右边值的积/除运算符$a/$b计算运算符左边值除以运算符右边值的商%取模运算符$a%$b计算运算符左边值除以运算符右边值的余数**求幂运算符$a**$b计算$a的$b次方-取反运算符-$a计算运算符右边值的相反数算术运算符的基本用法2.4.2字符串运算符<?php//定义电影类型$movie_type="红色电影";//定义电影名称$movie_name="闪闪的红星";//定义电影发行年份$movie_publish_year=1974;//输出电影类型、电影名称、发行年份echo$movie_type."《".$movie_name."》"."上映于".$movie_publish_year."年";?>字符串运算符的使用运行结果字符串运算符的使用代码定义了一个电影的类型、名称和发行年份。然后,通过使用点运算符来连接字符串,将它们拼接在一起。最后,使用echo语句来输出拼接后的结果。2.4.3赋值运算符 赋值运算符赋值运算符的使用运行结果运算符名称示例说明=赋值运算符$a=$b把运算符右边$b的值赋给左边的$a+=加赋值运算符$a+=$b将运算符两边的值相加的结果赋给左边的$a,等价于$a=$a+$b-=减赋值运算符$a-=$b将运算符两边的值相减的结果赋给左边的$a,等价于$a=$a-$b*=乘赋值运算符$a*=$b将运算符两边的值相乘的结果赋给左边的$a,等价于$a=$a*$b/=除赋值运算符$a/=$b将运算符两边的值相除的结果赋给左边的$a,等价于$a=$a/$b%=取模赋值运算符$a%=$b将运算符两边的值取余数的结果赋给左边的$a,等价于$a=$a%$b**=求幂赋值运算符$a**=$b将运算符两边的值求幂的结果赋给左边的$a,等价于$a=$a$^{\$b}$.=连接赋值运算符$a.=$b将运算符两边的值连接的结果赋给左边的$a,等价于$a=$a.$b赋值运算符的使用.txt2.4.4位运算符位运算符<?php$a=10;$b=-10;//按位与运算echo"$a&$b=",$a&$b,"<br>";//按位或运算echo"$a|$b=",$a|$b,"<br>";//按位异或运算echo"$a^$b=",$a^$b,"<br>";//按位取反运算echo"~$a=",~$a,"<br>";//左移运算echo"$a<<2=",$a<<2,"<br>";//右移运算echo"$a>>2=",$a>>2,"<br>";?>位运算符的使用运算符名称示例说明&按位与运算符$a&$b将$a和$b转换成二进制后按位与运算,如果参加运算的位都为1,则结果为1,否则结果为0|按位或运算符$a|$b将$a和$b转换成二进制后按位与运算,如果参加运算的位有一个为1,则结果为1,否则结果为0^按位异或运算符$a^$b将$a和$b转换成二进制后按位与运算,如果参加运算的位不相同,则结果为1,否则结果为0~按位取反运算符~$a将$a转换成二进制后按位取反运算,即参与运算的位是1结果就是0,参与运算的位是0结果就是1<
左移运算符$a<<$b将$a转换成二进制后左移$b位>
右移运算符$a>>$b将$a转换成二进制后右移$b位2.4.4位运算符位运算符的使用运行结果2.4.5自增与自减运算符 自增和自减运算符自增和自减运算符的使用运行结果运算符名称说明++$a前置自增运算符先将$a的值加1,结果赋值给$a,再返回$a的值--$a前置自减运算符先将$a的值减1,结果赋值给$a,再返回$a的值$a++后置自增运算符先返回$a的值,再将$a的值加1,结果赋值给$a$a--后置自减运算符先返回$a的值,再将$a的值减1,结果赋值给$a自增和自减运算符的使用.txt2.4.6逻辑运算符逻辑运算符逻辑运算符在PHP中用于根据两个或多个表达式的值计算出一个布尔结果。这些运算符通常用于流程控制语句,如条件判断和循环判断中,以决定程序的执行路径。运算符名称示例说明and逻辑与$aand$b当$a和$b的运算结果都为true时运算结果为true,否则结果为falseor逻辑或$aor$b当$a和$b的运算结果至少有一个为true时运算结果为true,否则结果为falsexor逻辑异或$axor$b当$a和$b的运算结果相反时运算结果为true,否则结果为false!逻辑非!$a当$a为true时,运算结果为false,当$a为false时,运算结果为true&&逻辑与$a&&$b当$a和$b的运算结果都为true时运算结果为true,否则结果为false||逻辑或$a||$b当$a和$b的运算结果至少有一个为true时运算结果为true,否则结果为falseif($a>0&&$b<10){//如果$a大于0且$b小于10,则执行这里的代码}if($x==0||$y==0){//如果$x等于0或$y等于0,则执行这里的代码}if(!$isLogged){//如果用户未登录,则执行这里的代码}逻辑与运算时,如果左侧表达式值为假,则整个表达式结果为假,左侧表达式为真,则整个表达式结果为真,右侧操作数将不被计算。2.4.7比较运算符比较运算符<?php//定义变量a和b,分别赋值为1和字符串"1"$a=1;$b="1";//输出比较a和b的结果echo'1=="1":';var_export($a==$b);echo"<br>";echo'1==="1":';var_export($a===$b);echo"<br>";echo'1!=="1":';var_export($a!==$b);echo"<br>";echo'1<=>"1":';var_export($a<=>$b);?>比较位运算符的使用运算符名称示例说明==等于运算符$a==$b如果$a和$b的值相等,则返回true,否则返回false===全等于运算符$a===$b如果$a和$b的值相等,且数据类型相同,则返回true,否则返回false!=不等于运算符$a!=$b如果$a和$b的值不相等,则返回true,否则返回false<>
不等于运算符$a<>$b如果$a和$b的值不相等,则返回true,否则返回false!==不全等于运算符$a!==$b如果$a和$b的值不相等,或者类型不同,则返回true,否则返回false<
小于运算符$a<$b如果$a的值小于$b的值,则返回true,否则返回false<=小于等于运算符$a<=$b如果$a的值小于或等于$b的值,则返回true,否则返回false>
大于运算符$a>$b如果$a的值大于于$b的值,则返回true,否则返回false>=大于等于运算符$a>=$b如果$a的值大于或等于$b的值,则返回true,否则返回false<=>组合比较符$a<=>$b如果$a的值小于$b的值,返回-1;如果$a的值等于$b的值,返回0;如果$a的值大于$b的值,返回1位运算符的使用运行结果2.4.7比较运算符2.4.8条件运算符三元条件运算符$result=(表达式1)?表达式2:表达式3;工作原理:如果条件表达式1成立,则$result取表达式2的值,否则取表达式3的值。$age=25;$message=($age>=18)?"成年人":"未成年人";echo$message;//输出:成年人三元运算符的简洁性使其在某些情况下更易于阅读和编写,但过度使用它可能会导致代码难以理解。因此,最好在简单的情况下使用,以保持代码的清晰度。2.4.9空值合并运算符 “??”的基本语法$result=$value??$default;工作原理:如果$value存在且不为null,则$result被赋值为$value,否则$result被赋值为$default。空值合并运算符可以简化对变量是否为null的判断,使代码更为简洁。在许多情况下,它可以代替传统的三元运算符来提供默认值。2.4.10错误抑制运算符 错误抑制运算符“@”用于抑制PHP输出的警告信息。通过在表达式或语句前添加@,可以阻止PHP将相关的错误信息显示到屏幕上。要看到错误抑制运算符的效果,可以通过修改php.ini配置文件中的以下几个配置项。error_reporting=E_ALLdisplay_errors=Onhtml_errors=On2.4.11运算符优先级运算符优先级()clone,new**+,-,++,--,~,(int),(float),(string),(array),(object),(bool),@instanceof!*,/,%+,-,.<<,>><,<=,>=,>==,!=,<>,===,!==&^|&&||?:赋值运算符andxoror2.4.12使用条件语句PHP中包括多种流程控制语句,主要有条件语句、循环语句、以及跳转语句。条件语句的主要内容1.if语句2.else语句if语句可以控制程序在符合条件的时候执行特定的代码块。else语句需要配合if语句使用,表示if语句的判断条件不符合时执行的代码块。if(条件判断表达式){//if语句成立时,执行代码块中的代码}if(条件判断表达式){//条件判断表达式值为true时,执行代码块中的代码}else{//条件判断表达式值为false时,执行代码块中的代码}2.4.12使用条件语句条件语句的主要内容elseif语句也需要配合if语句使用,当if条件判断不成立时,进一步对elseif语句进行条件判断。如果elsif条件成立就执行elseif的代码块3.elseif语句if(条件判断表达式1){//条件判断表达式1值为true时,执行代码块中的代码}elseif(条件判断表达式2){//条件判断表达式1值为false才进行条件判断表达式2的判断
//条件判断表达式2值为true时,执行代码块中的代码}elseif(条件判断表达式3){//条件判断表达式1、条件判断表达式2值为false才进行条件判断表达式3的判断
//条件判断表达式3值为true时,执行代码块中的代码}else{//前面的条件判断表达式值都为false时,执行代码块中的代码}2.4.12使用条件语句条件语句的主要内容switch语句是一种多分支的条件语句,用于将一个表达式的值与多个可能的情况进行比较。4.switch语句switch(表达式){casevalue1://当表达式的值等于value1时执行的代码
break;casevalue2://当表达式的值等于value2时执行的代码
break;//可以有更多的case语句
default://当表达式的值不匹配任何case时执行的代码}2.4.12使用条件语句if条件语句的使用
if条件语句的使用运行结果<?php//定义一个变量score,赋值为95$score=95;echo"考试分数是{$score},表现";//判断score的值,如果大于等于90,输出"优秀",如果大于等于70,输出"良好",否则输出"需要努力"if($score>=90){echo"优秀";}elseif($score>=70){echo"良好";}else{echo"需要努力";}?>2.4.12使用条件语句switch语句的使用switch语句的使用运行结果<?php//生成一个0-4的随机整数$a=random_int(0,4);//输出$a的值echo'$a的值是'.$a."<br>";//根据$a的值,输出不同的字符串switch($a){casefalse:echo"A";case"1":echo"B";case2.0:echo"C";case3:echo"D";default:echo"E";}?>2.4.13使用循环语句while循环语句语法结构while(条件判断表达式){//条件判断表达式结果为true,执行代码块中的代码}1.while循环语句
while循环语句的作用是对条件判断表达式的值进行判断。2.do-while循环语句do-while循环语句与while循环语句功能相似,都是根据条件判断表达式的值来决定是否循环执行代码块。它们的关键区别在于执行循环体之前的条件判断时机。do-while循环语句语法结构do{//代码块}while(条件判断表达式);PHP中常用的循环语句2.4.13使用循环语句for循环语句语法结构for(表达式1;表达式2;表达式3){//表达式2为true时执行代码块}3.for循环语句for循环是一种常见的循环结构,它允许程序重复执行一段代码直到满足某个条件。通常用于迭代数组、列表或其他可迭代对象,或者在需要固定次数的重复操作时使用。基本结构通常包括初始化表达式、循环条件和迭代表达式。PHP中常用的循环语句2.4.13使用循环语句4.foreach循环语句oreach循环允许遍历数组中的每个元素,而无需手动管理索引。foreach循环语句基本语法结构foreach($arras$value){//循环代码块}同时访问数组的键和值语法结构foreach($arras$key=>$value){//循环代码块}同时访问数组的键和值的语法结构while循环语句的使用.txt2.4.13使用循环语句for循环语句的使用运行结果for循环语句的使用.txt2.4.13使用循环语句foreach循环语句的使用<?php//定义一个中国传统文化数组$arr=["书法","武术","京剧","中医","丝绸","茶","瓷器","围棋","刺绣","剪纸"];//遍历数组foreach($arras$key=>$value){//输出数组中的元素
echo$value;//判断key的值是否为奇数,如果是奇数,则输出换行符,否则输出空格echo$key%2==1?"<br>":"";}//输出字符串echo"--中国传统文化";?>foreach循环语句的使用运行结果2.4.14使用跳转语句1.break语句break语句是一种控制流语句,用于在循环或switch语句中提前终止执行。2.continue语句continue语句用于在循环语句中提前结束当前迭代,并立即开始下一次迭代。3.goto语句goto语句允许程序无条件跳转到指定的标签位置,通常与条件语句结合,用于实现复杂的控制流程,如循环和跳转。4.return语句return语句用于从函数中返回一个值,并立即结束函数的执行。5.throw语句throw语句用于抛出异常,这会导致程序执行流程中断,并可以被try-catch块捕获处理。常见的跳转语句2.4.14使用跳转语句跳转语句的使用<?php//定义变量$i,初始值为1$i=1;//循环执行,直到$i不满足条件while(true){//如果$i等于50,跳出循环
if($i==50){break;}//如果$i除以7余数不等于0,$i自增1,继续循环
if($i%7!=0){$i++;continue;}//否则,输出$i,并跳出循环
echo$i."能被7整除<br>";$i++;}?>跳转语句的使用运行结果2.4.15使用流程控制的替代语法输出话剧信息使用流程控制替代语法输出话剧信息的运行结果PHP中流程控制的替代语法是一种在流程控制语句中更清晰地表达代码块的方法。常用的流程控制的替代语法结构.txt使用流程控制替代语法输出话剧信息.txt认识命名空间与文件引入任务2.52.5.1命名空间在PHP中,任意合法的PHP代码都可以包含在命名空间中,但只有以下类型的代码受命名空间的影响:类、接口、函数和常量。namespace空间名use[function|const]命名空间\内容[as别名]<html><?phpnamespacemyapp;//错误命名空间必须是程序脚本的第一条语句?>声明命名空间的语法结构use语句的语法结构声明命名空间的语法结构2.5.2文件引入在实际开发中,我们通常不会将所有的代码都写在一个PHP文件中。相反,我们会根据代码的功能将其分成不同的PHP文件,然后在需要使用的地方进行引入,以提高代码的可维护性和重用性。文件引入语句的语法结构引入关键字"引入文件路径";或者引入关键字("引入文件路径");引入语句是PHP中的语言结构,而不是真正的函数或方法,因此后面的圆括号是可省略的。将通用的函数、类等放入独立的文件中,然后在其他文件中引入这些文件,以便在当前文件中使用这些功能。2.5.3使用命名空间和文件引入管理同名诗词poetries/song/ly/poetry.php中存放诗人陆游的诗引入关键字"引入文件路径";或者<?php//定义命名空间song\lynamespacesong\ly;//定义一个函数yueye输出陆游月夜的诗句functionyueye(){echo"《月夜》<br>";echo"小醉初醒月满床,玉壶银阙不胜凉。天风忽送荷香过,一叶飘然忆故乡。<br>";echo"--宋朝陆游<br>";}?>引入关键字("引入文件路径");poetries/tang/df/poetry.php中存放诗人杜甫的诗<?php//定义命名空间tang\dfnamespacetang\df;//定义一个函数yueye输出杜甫月夜的诗句functionyueye(){echo"《月夜》<br>";echo"今夜鄜州月,闺中只独看。遥怜小儿女,未解忆长安。香雾云鬟湿,清辉玉臂寒。何时倚虚幌,双照泪痕干。<br>";echo"--唐朝杜甫<br>";}2.5.3使用命名空间和文件引入管理同名诗词poetries/tang/lfp/poetry.php中存放诗人刘方平的诗<?php//定义命名空间tang\lfpnamespacetang\lfp;//定义一个函数yueye输出刘方平月夜的诗句functionyueye(){echo"《月夜》<br>";echo"更深月色半人家,北斗阑干南斗斜。今夜偏知春气暖,虫声新透绿窗纱。<br>";echo"--唐朝刘方平<br>";}?>php引入外部诗人文件,并且使用相关函数输出不同诗人的《月夜》.txt2.5.3使用命名空间和文件引入管理同名诗词使用命名空间和文件引入管理同名诗词运行结果认识函数任务2.62.6.1定义函数 在编程中,我们常常会遇到需要重复使用的代码片段,为了提高代码的可维护性和重用性,这些代码片段可以被封装成一个独立的、有名字的单位,即函数。函数的定义基本语法格式function函数名(形式参数列表){//函数代码}注意:PHP中函数定义后在全局作用域中是有效的,所以函数定义和函数调用之间没有强制性的先后关系。函数可以在文件的任何位置定义,然后在需要的地方进行调用。函数调用的语法结构$result=函数名(实际参数列表);函数的定义基本语法格式function函数名(形式参数列表){//函数体代码
return返回值;}2.6.2函数的参数在处理业务逻辑时,某些函数需要外部提供数据,这些数据就是在函数定义时的形式参数,简称形参。形参有默认值的函数定义语法格式function函数名(形参1,形参2=默认值2,形参3=默认值3){//函数体代码}注意:可变参数必须是函数参数列表的最后一个参数,并且不能为可变参数指定默认值。函数的定义基本语法格式function函数名(...可变参数){//函数体代码}在调用函数时,传递给函数的具体数值被称为实际参数,简称实参。2.6.2函数的参数传值1传引用2PHP给形参传值的方式2.6.2函数的参数1传值默认情况下,函数调用时,将实参的值复制一份赋值给形参。2传引用在函数中修改形参会影响函数外的实参。形参引用传值的函数定义语法格式function函数名(&$形参){//函数体代码}有默认值形参的函数定义和使用运行结果有默认值形参的函数定义和使用.txt2.6.2函数的参数2传引用两种方式给函数形参传值的运行结果注意:如果在函数的形参声明中使用了传引用的方式,那么在调用函数时实参必须是一个变量,而不能直接传递一个值。两种方式给函数形参传值.txt2.6.3变量的作用域 PHP自定义变量三种作用域局部变量静态变量全局变量2.6.3变量的作用域 1.局部变量局部变量是在函数内部定义的变量,包括形参。它们的作用域仅限于所在的函数体,只能在函数体内定义位置之后的代码中被访问。函数外的代码无法访问函数内的局部变量。2.静态变量静
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车位抵押借款合同模板
- 详细装修合同范本
- 个体工商户共同投资开店合同协议
- 合同编号土地使用权及开发权转让协议
- 商业综合体停车库管理合同
- 4《地球 我们的家园》第二课时 教学设计-2023-2024学年道德与法治六年级下册统编版
- 供应链管理合同目录
- 建筑工程项目居间服务合同模板
- 技术开发合同(三)
- Module 5 Unit 1 Will you take your ball tomorrow(教学设计)-2023-2024学年外研版(一起)英语三年级下册
- 小学教室卫生管理
- 信息技术必修一《数据与计算》第三章第三节《数据分析报告与应用》说课稿
- 体育科学急救知识
- 工程项目建设流程
- T-GXAR 005-2024 制冷机房运行维护规程
- DB45T 2364-2021 公路路基监测技术规范
- 2025年春九年级化学下册 中考综合模拟测试卷一(科学版)
- 供电所安全第一课
- 新能源汽车底盘概论课件
- 全脑血管造影术的护理查房
- 学习弘扬红船精神课件
评论
0/150
提交评论