PHP复习知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP复习知识点
第一章:初识PHP
第一节:计算思维回顾
1.计算思维:
计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
计算思维最根本的内容,即其本质(Essence)是抽象(Abstraction)和自动化(Automation)。
可以概括为:合理抽象、高校算法,主要过程包括:问题简单化(即合理抽象),然后构建解决问题的模型(即高效计算),最后,通过编程的手段输入到计算机内,通过计算机来完成一系列复杂的运算过程(即自动化)。
2.计算思维日常生活例子:
考虑下面日常生活中的事例:当你女儿早晨去学校时,她把当天需要的东西放进背包,这就是预置和缓存;当你儿子弄丢他的手套时,你建议他沿走过的路寻找,这就是回推;在什么时候停止租用滑雪板而为自己买一付呢?这就是在线算法;在超市付帐时,你应当去排哪个队呢?这就是多服务器系统的性能模型;为什么停电时你的电话仍然可用?这就是失败的无关性和设计的冗余性;完全自动的大众图灵测试如何区分计算机和人类,即CAPTCHA[注1]程序是怎样鉴别人类的?这就是充分利用求解人工智能难题之艰难来挫败计算代理程序。
第二节:了解PHP
1.PHP的概念:
PHP 是一种HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
2.PHP的应用:
1)PHP的脚本:1)服务器;
2)命令器;
3)桌面应用程序。
2)PHP的功能:能够生成动态页面内容
能够创建、打开、读取、写入、删除以及关闭服务器上的文件
能够接收表单数据
能够发送并取回cookies
能够添加、删除、修改数据库中的数据
能够限制用户访问网站中的某些页面
能够对数据进行加密
3.PHP的特性(优势):
1)、开放的源代码;
2)、PHP是免费码;
3)、php的快捷性;
4)、跨平台性强;
5)、效率高;
6)、图像处理;
7)、面向对象;
8)、专业专注。
4.PHP的基本语法:
1)基础PHP语法:
PHP 脚本可放置于文档中的任何位置。
PHP 脚本以<?php 开头,以?> 结尾:
<?php
// 此处是PHP 代码
?>
2)PHP 文件的默认文件扩展名是".php"。
PHP 文件通常包含HTML 标签以及一些PHP 脚本代码。
3)PHP echo 和print 语句
echo 和print 之间的差异:echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回1
提示:echo 比print 稍快,因为它不返回任何
下面的例子是一个简单的PHP 文件,其中包含了使用内建PHP 函数"echo" 在网页上输出文本"Hello World!" 的一段PHP 脚本:
实例
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张PHP 页面</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
注释:PHP 语句以分号结尾(;)。
PHP 代码块的关闭标签也会自动表明分号(因此在PHP 代码块的最后一行不必使用分号)。
5.PHP中的注释:
PHP 代码中的注释不会被作为程序来读取和执行。
它唯一的作用是供代码编辑者阅读。
注释用于:
使其他人理解正在做的工作- 注释可以让其他程序员了解在每个步骤进行的工作(如果供职于团队)
提醒自己做过什么- 大多数程序员都曾经历过一两年后对项目进行返工,然后不得不重新考虑他们做过的事情。
注释可以记录在写代码时的思路。
PHP 支持三种注释:
实例
<!DOCTYPE html>
<html>
<body>
<?php
// 这是单行注释
# 这也是单行注释
/*
这是多行注释块
它横跨了
多行
*/
?>
</body>
</html>
6.PHP 大小写敏感:
在PHP 中,所有用户定义的函数、类和关键词(例如if、else、echo 等等)都对大小写不敏感。
在下面的例子中,所有这三天echo 语句都是合法的(等价):
实例
<!DOCTYPE html>
<html>
<body>
<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>
</body>
</html>
第二章PHP基础
第一节:程序
1.程序的概念:程序可以指一连贯的活动、作业、步骤、决断、计算和工序,当它们依照严格规定的顺序发生时即可实现特定目标或解决特定问题。
2.描述程序的工具--流程图
1)定义:以特定的图形符号加上说明,表示算法的图,称为流程图或框图。
2)利弊:优点:直接、方便,是人们归纳思维的重要手段
弊端:缺乏精确性,同一语句可能有不同的理解方式。
3.变量与常量
1)变量:在程序运行的过程中可能发生变化的数据称之为变量;
变量是计算机存储器中一块命名的空间,可以在里面存储一个值,存储的值是可以随时变的,而需要访问或者修改的数据则是通过变量名进行访问。
2)常量:在程序运行的过程中永远不会被修改的数据称为常量。
4.PHP定义变量:
在PHP中,变量总是以美元符($)开头,后面竟跟着变量名。
1)变量的命名规则:只能有字母、数字、下划线组成;
必须以字母或下划线开头;
注意:变量名是区分大小写的。
变量名的命名最好要具有一定的含义,以便做到见名知意。
2)变量的赋值:赋值符号是一个等号“=”,并且在赋值的过程中,是右边的值赋值给左边!3)常量的定义规则:define(常量名,常量值)
示例:
//定义一个常量,常量名为MAX_MONEY,常量值为100
define("MAX_MONEY", 100);
常量类似变量,但是常量一旦被定义就无法更改或撤销定义。
4)PHP 常量
常量是单个值的标识符(名称)。
在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有$ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
第二节:PHP基础
1.数据类型:
在PHP中,常见的的数据类型:字符串、整数、浮点数、逻辑、数组、对象
四种标量类型:
1)PHP 字符串
字符串是字符序列,比如"Hello world!"。
字符串可以是引号内的任何文本。
您可以使用单引号或双引号:
实例
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
2)PHP 整数
整数:是没有小数的数字。
整数规则:
整数必须有至少一个数字(0-9)
整数不能包含逗号或空格
整数不能有小数点
整数正负均可
可以用三种格式规定整数:十进制、十六进制(前缀是0x)或八进制(前缀是0)
在下面的例子中,我们将测试不同的数字。
PHP var_dump() 会返回变量的数据类型和值:实例
<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>
3)PHP 浮点数
浮点数是有小数点或指数形式的数字。
在下面的例子中,我们将测试不同的数字。
PHP var_dump() 会返回变量的数据类型和值:实例
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>
4)PHP 逻辑
逻辑是true 或false。
$x=true;
$y=false;
{注意:复习计算机的数制及编码:
1.数制:数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。
人们通常采用的数制有十进制、二进制、八进制和十六进制。
2.编码:是采用少量的基本符号,选用一定的组合原则,以表示大量复杂的多样的信息技术。
3.基本概念:
1)数码:数制中表示基本数值大小的不同数字符号。
例如,十进制有10个数码:0、1、2、3、4、5、6、7、8、9。
2)基数:数制所使用数码的个数。
例如,二进制的基数为2;十进制的基数为10。
3)位权:数制中某一位上的1所表示数值的大小(所处位置的价值)。
例如,十进制的123,1的位权是100,2的位权是10,3的位权是1。
二进制中的1011 ,第一个1的位权是8,0的位权是4,第二个1的位权是2,第三个1的位权是1
4)数制:计数的规则。
在人们使用最多的进位计数制中,表示数的符号在不同的位置上时所代表的数的值是不同的。
5)十进制:人们日常生活中最熟悉的进位计数制。
在十进制中,数用0,1,2,3,4,5,6,7,8,9这十个符号来描述。
计数规则是逢十进一。
6)二进制:在计算机系统中采用的进位计数制。
在二进制中,数用0和1两个符号来描述。
计数规则是逢二进一。
7)十六进制:人们在计算机指令代码和数据的书写中经常使用的数制。
在十六进制中,数用0,1,…,9和A,B,…,F(或a,b,…,f)16个符号来描述。
计数规则是逢十六进一。
4.数制符号:二进制B(binary)
八进制O(octal)
十进制D(decimal)
十六进制H(hexadecimal)
5.转换:
下面我们来看看各数制之间是怎么转换的:
1)其它进制转换为十进制:
方法是:将其它进制按权位展开,然后各项相加,就得到相应的十进制数。
例1:N=(10110.101)B=(?)D
按权展开N=1*2^4+0*2^3+1*2^2+1*2^1+0*2^0+1*2^-1+0*2^-2+1*2^-3
=16+4+2+0.5+0.125 =(22.625)D
2)将十进制转换成其它进制:
方法是:它是分两部分进行的即整数部分和小数部分。
整数部分:(基数除法)把我们要转换的数除以新的进制的基数,把余数作为新进制的最低位;
把上一次得的商再除以新的进制基数,把余数作为新进制的次低位;
继续上一步,直到最后的商为零,这时的余数就是新进制的最高位.
小数部分:(基数乘法)把要转换数的小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位
把上一步得的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位;
继续上一步,直到小数部分变成零为止。
或者达到预定的要求也可以。
6.相互转换:
二进制转换为八进制、十六进制:它们之间满足23和24的关系,因此把要转换的二进制从低位到高位每3位或4位一组,高位不足时在有效位前面添“0”,然后把每组二进制数转换成八进制或十六进制即可
八进制、十六进制转换为二进制时,把上面的过程逆过来即可。
}
2.运算符和表达式:
1)PHP 算数运算符
运算符名称例子结果
+ 加法$x + $y $x 与$y 求和
- 减法$x - $y $x 与$y 的差数
* 乘法$x * $y $x 与$y 的乘积
/ 除法$x / $y $x 与$y 的商数
% 模数$x % $y $x 除$y 的余数
下例展示了使用不同算数运算符的不同结果:
实例
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出16
echo ($x - $y); // 输出4
echo ($x * $y); // 输出60
echo ($x / $y); // 输出1.6666666666667
echo ($x % $y); // 输出4
?>
2)PHP 赋值运算符
PHP 赋值运算符用于向变量写值。
PHP 中基础的赋值运算符是"="。
这意味着右侧赋值表达式会为左侧运算数设置值。
赋值等同于描述
x = y x = y 右侧表达式为左侧运算数设置值。
x += y x = x + y 加
x -= y x = x - y 减
x *= y x = x * y 乘
x /= y x = x / y 除
x %= y x = x % y 模数
下例展示了使用不同赋值运算符的不同结果:
实例
<?php
$x=10;
echo $x; // 输出10
$y=20;
$y += 100;
echo $y; // 输出120
$z=50;
$z -= 25;
echo $z; // 输出25
$i=5;
$i *= 6;
echo $i; // 输出30
$j=10;
$j /= 5;
echo $j; // 输出2
$k=15;
$k %= 4;
echo $k; // 输出3
?>
3)PHP 比较运算符
PHP 比较运算符用于比较两个值(数字或字符串):
运算符名称例子结果
== 等于$x == $y 如果$x 等于$y,则返回true。
=== 全等(完全相同)$x === $y 如果$x 等于$y,且它们类型相同,则返回true。
!= 不等于$x != $y 如果$x 不等于$y,则返回true。
<> 不等于$x <> $y 如果$x 不等于$y,则返回true。
!== 不全等(完全不同)$x !== $y 如果$x 不等于$y,且它们类型不相同,则返回true。
> 大于$x > $y 如果$x 大于$y,则返回true。
< 大于$x < $y 如果$x 小于$y,则返回true。
>= 大于或等于$x >= $y 如果$x 大于或者等于$y,则返回true.
<= 小于或等于$x <= $y 如果$x 小于或者等于$y,则返回true。
下例展示了使用某些比较运算符的不同结果:
实例
<?php
$x=100;
$y="100";
var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";
$a=50;
$b=90;
var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>
4)PHP 逻辑运算符
运算符名称例子结果
and 与$x and $y 如果$x 和$y 都为true,则返回true。
or 或$x or $y 如果$x 和$y 至少有一个为true,则返回true。
xor 异或$x xor $y 如果$x 和$y 有且仅有一个为true,则返回true。
&& 与$x && $y 如果$x 和$y 都为true,则返回true。
|| 或$x || $y 如果$x 和$y 至少有一个为true,则返回true。
! 非!$x 如果$x 不为true,则返回true。
第三章流程控制语句
第一节:分支逻辑
1.分支逻辑:
1)概念:适用于需要通过条件判断执行语句的场合
2)热点:经过逻辑运算、检查,得到结果,做出选择。
3)类型:if语句
switch语句
2.if语句:if 语句- 如果指定条件为真,则执行代码
if...else 语句- 如果条件为true,则执行代码;如果条件为false,则执行另一端代码
if...else if....else 语句- 选择若干段代码块之一来执行
1)PHP - if 语句
if 语句用于在指定条件为true 时执行代码。
语法
if (条件) {
当条件为true 时执行的代码;
}
注意:if表示如果,即使一个判断的开始;
if的条件A只有TRUE和FALSE两种可能,因为判断语句中,if值识别真或假,即true和false,而不识别其他结果;
下例将输出"Have a good day!",如果当前时间小于20:
实例
<?php
$t=date;
if ($t<"20") {
echo "Have a good day!";
}
?>
2)PHP - if...else 语句
使用if....else 语句在条件为true 时执行代码,在条件为false 时执行另一段代码。
语法
i f (条件) {
条件为true 时执行的代码;
} else {
条件为false 时执行的代码;
}
注意:else表示否定,及条件A为FALSE;
如果使用else关键字,必须要有与之对应的if关键字,且if在前else在后;
下例将输出"Have a good day!",如果当前时间小于20,否则输出"Have a good night!":实例
<?php
$t=date;
if ($t<"20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>
3)PHP - if...elseif....else 语句
使用if....elseif...else 语句来选择若干代码块之一来执行。
语法
if (条件) {
条件为true 时执行的代码;
} elseif (condition) {
条件为true 时执行的代码;
} else {
条件为false 时执行的代码;
}
注意:多分支判断语句时,顺序是置顶而下判断的;
下例将输出"Have a good morning!",如果当前时间小于10,如果当前时间小于20,则输出"Have a good day!"。
否则将输出"Have a good night!":
实例
<?php
$t=date;
if ($t<"10") {
echo "Have a good morning!";
} elseif ($t<"20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>
3.Switch 语句:
switch 语句用于基于不同条件执行不同动作。
如果希望有选择地执行若干代码块之一,请使用Switch 语句。
1)优点:使用Switch 语句可以避免冗长的if..elseif..else 代码块。
2)工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中case 的值进行比较
如果存在匹配,则执行与case 关联的代码
代码执行后,break 语句阻止代码跳入下一个case 中继续执行
如果没有case 为真,则使用default 语句
注意:break不要忘记,由于switch--case结构中的语句是贯穿的,因此,如果不加break 将会执行所有的语句;
default可有可无,但是为了程序的严谨性,一般加上default。
实例
<?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</htm>
总结:概念:控制语句用于控制程序的流程,以实现程序的各种结构方式。
当程序需要能够根据不同的情况作出检查判断时,则根据情况的不同,采用不同的判断方式;
特征:先判断,后执行。
第二节循环语句
1.循环语句:
1)概念:在程序中重复执行具有规律性的操作;
2)优点:在编写代码时,经常需要反复运行同一代码块。
我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
3)类型:while - 只要指定条件为真,则循环代码块
do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
for - 循环代码块指定次数
2.PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。
语法
while (条件为真) {
要执行的代码;
}
注意:
循环体:1.判断循环条件A的值,TRUE或FALSE
2.如果TRUE执行循环语句,如果FALSE循环结构结束;
3.执行循环语句,回到原判断循环体条件A的值
4.------
上例首先把变量$x 设置为1($x=1)。
然后执行while 循环,只要$x 小于或等于5。
循环每运行一次,$x 将递增1:
实例
<?php
$x=1;
while($x<=5) {
echo "这个数字是:$x <br>";
$x++;
}
?>
3.PHP do...while 循环
d o...whil
e 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
do {
要执行的代码;
} while (条件为真);
注意:do--while--语句为先执行。
后判断语句,即条件A是否为真,先执行do-的代码体,
执行后在判断while中的判断语句A是否为真,如果为真,再次执行do-的代码体,如果假,则结束循环语句。
下面的例子首先把变量$x 设置为1($x=1)。
然后,do while 循环输出一段字符串,然后对变量$x 递增1。
随后对条件进行检查($x 是否小于或等于5)。
只要$x 小于或等于5,循环将会继续运行:
实例
<?php
$x=1;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。
这意味着do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把$x 设置为6,然后运行循环,随后对条件进行检查:
实例
<?php
$x=6;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
4.PHP for 循环
如果已经提前确定脚本运行的次数,可以使用for 循环。
语法
for (表达式1; 表达式2;表达式3) {
循环体;
}
参数:
表达式1:初始化循环计数器的值
表达式2: 评估每个循环迭代。
如果值为TRUE,继续循环。
如果它的值为FALSE,循环结束。
表达式3:增加循环计数器的值
下面的例子显示了从0 到10 的数字:
实例
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>
5.break关键字
语句:break关键字一般用于控制语当中,表示直接终止当前循环,执行循环后面的操作。
6.continue关键字
语句:continue关键字一般用于控制语句中,表示中断当次循环,直接继续下去迭代。
练习:
1.逢7必过:
<?php
$i=1;
do{
if(($i%10!=7)&&
($i%7!=0)&&
($i<=69||$i>=80))
echo $i;
$i++;
}while($i<=100);
?>
2.打印100以内的偶数:
<?php
for($i=1;$i<=100;$i++)
{
echo $i+=2;
echo "<br/>";
}
?>
3.求1-10的平方数,并打印:
(1)输出平方数:
<?php
for($i=1;$i<=10;$i++)
{
echo $i*$i;
echo "<br/>";
}
?>
(2)输出平方数求值式:
<?php
for($i=1;$i<=10;$i++)
{
echo $i."*".$i."=".$i*$i;
echo "<br/>";
}
?>
4.求1+2+3+--+157的值,并打印:<?php
for($i=1,$j=0;$i<=157;$i++)
{
$j+=$i;
}
echo $j;
?>
5.打印9*9的小星星:
(1)打印一行9个小星星;(2)打印九行9个小星星;(3)打印对角线小星星;
(4)打印反角线小星星;
(5)打印X型小星星;
(6)打印米型小星星;
解:
(1)
法一:
<?PHP
$i=1;
do{
echo "★";
$i++;
}while($i<=9);
?>
法二:
<?php
for($i=1;$i<=9;$i++)
{
echo "★";
}
?>
(2)
法一:
<?php
$i=1;
do{
$j=1;
do{
echo "★";
$j++;
}while($j<=9);
echo "<br/>";
$i++;
}while($i<=9);
?>
法二:
<?php
for($i=1;$i<=9;$i++) {
for($j=1;$j<=9;$j++)
{
echo "★";
}
echo "<br/>";
}
?>
(3)
<?php
for($i=1;$i<=9;$i++) {
for($j=1;$j<=9;$j++)
{ if($i==$j){
echo "★";
}else{
echo "☆";
}
}
echo "<br/>";
}
?>
(4)
<?php
for($i=1;$i<=9;$i++)
{
for($j=1;$j<=9;$j++)
{ if($i+$j==10){
echo "★";
}else{
echo "☆";
}
}
echo "<br/>";
}
?>
(5)
<?php
for($i=1;$i<=9;$i++)
{
for($j=1;$j<=9;$j++)
{ if($i==$j||$i+$j==10){
echo "★";
}else{
echo "☆";
}
}
echo "<br/>";
}
?>
(6)
<?php
for($i=1;$i<=9;$i++)
{
for($j=1;$j<=9;$j++)
{ if($i==$j||$i+$j==10||$i==5||$j==5){ echo "★";
}else{
echo "☆";
}
}
echo "<br/>";
}
?>
6.打印九九乘法表(不带表格):
法一:
<?php
for($i=1;$i<=9;$i++)
{
for($j=1;$j<=$i;$j++)
{
echo $i."*".$j."=".$i*$j." ";
}
echo "<br/>";
}
?>
法二:
<?php
$i=1;
do{
$j=1;
do{
echo $i."*".$j."=".$i*$j." ";
$j++;
}while($j<=$i);
$i++;
echo "<br/>";
}while($i<=9);
7.打印100以内的质数:
<?php
for($i=2; $i <=100 ; $i++)
{
for($j=2; $j<=$i-1; $j++)
{
if($i%$j==0){
break;
}
}
if($i==$j){
echo " ".$i;
}
}
?>
8.验证一个数是否为合数或质数并显示因数,打印:
<?php
$num=13;
for($i=2;$i<=$num-1;$i++){
if($num%$i==0){
echo "$num 这是一个合数!.<br/>";
echo "他的因数为$i<br/>";
break;
}
}
if($num==$i){
echo "$num 是个质数";
}
?>。