PHP讲义.docx
- 文档编号:23167491
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:21
- 大小:178.61KB
PHP讲义.docx
《PHP讲义.docx》由会员分享,可在线阅读,更多相关《PHP讲义.docx(21页珍藏版)》请在冰豆网上搜索。
PHP讲义
PHP讲义
第一部分PHP开发入门
1、PHP的优势与背景
PHP是能让你生成动态网页的工具之一。
PHP代表:
超文本预处理器(PHP:
HypertextPreprocessor)。
PHP是完全免费的,不用花钱,
你可以从PHP官方站点自由下载。
与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。
只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。
之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。
PHP的语法类似于C,Perl,ASP或者JSP。
对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。
当然你没有任何基础也是可以学习的。
如果更好的学习建议可以先看看些HTML和SQL的基础。
2、PHP环境的搭配
所需的工具:
WampServer5集成环境
Wamp5是Apache+PHP+Mysql在Windows下的集成环境,拥有简单的图形和菜单安装。
该版本集成了PHP5.2.5Mysql5Apache2phpMyAdmin2.11.2.1SQLiteManager1.2.0满了大部分PHPer的需求…
3、PHP常用工具和数据库常用工具
MYSQL工具:
MYSQLAdministrator
PHP开发工具:
ZendStodio,PHPedit,EditPlus2,easyeclipse,DW等
1、PHP标记方式
从语法上看,PHP语言近似于C语言。
可以说,PHP是借鉴C语言的语法特征,由C语言改进而来的。
我们可以混合编写PHP代码和HTML代码,不仅可以将PHP脚本嵌入到HTML文件中,我们甚至还可以把HTML标签也嵌入在PHP脚本里。
以下是你可以采用的几种方法。
你可以选用其中一种你最适合的并且就这样坚持这种方法!
从HTML中分离
以下是可以使用的方法:
(1)
Echo("这是PHP语言的嵌入范例\n");?
>(
(2)
php...?
>
(3)
(4)<%...%>
如:
Hellowrld程序
echo"hello,world\n";
?
>
也可以写成
php
echo"hello,world\n";
?
>
2、PHP注释方式
与Perl和C一样,在PHP中用“;”来分隔语句。
那些从HTML中分离出来的标志也表示语句的结束。
注释
PHP支持C,C和Unix风格的注释方式:
/*C,C风格多行注释*/
//C风格单行注释
#Unix风格单行注释
注意:
不要让注释陷入递归循环当中,否则会引起错误。
如:
/*
Echo"这是一个错误的示范。
\n";/*递归注释*/
*/
?
>(显示的结果是Parseerror:
syntaxerror,unexpected'*'inD:
\yqwww\ad\12.phponline4这一句话,就表示错误出在第四行)
这一例中最后一个“*/”是多余的,第一个“*/”已经关闭了注释区域。
如何处理简单的PHP错误
(1)、你要把PHP.ini里的display_errors = On才可以显示错误位置
(2)习惯使用echo或者print打印
(3)学会使用注释来屏蔽符号来调试
//……….
/*…………*/
#..............
3、基本语法
(1)、htm和php混编
只要将htm语句写在尖括号的外面就行,结果会直接显示出来。
如:
Echo"你好!
";
?
>
进行混编:
Echo"你好!
";
?
>
这样就会得到“你好!
我好!
”的结果
(2)、一个语句以;(分号结束)
结束一个语句,是以“;”来结束,但必须是英文半角下的。
4、PHP常量的使用
(1)常量命名规则
常量名和其他任何PHP标记遵循同样的命名规则。
合法的常量以字母或下划线开始,后面跟任何字母、数字或下划线。
常量是区分大小写的。
例:
//合法的常量名
define("FOO","something");
define("FOO","somethingelse")
define("FOO_BAR","somethingmore")
非法的常量名
define("2FOO","something");
?
>
(2)定义常量的语法
在PHP中,常量用define()函数来定义。
不能通过赋值语句;
●常量的值只能是标量;(blooean,integet,float,string)
●常量可不用理会变量范围的规则而在任何地方定义和访问;
●常量一旦定义就不能被重新定义或者取消定义;
例:
define("COPYRIGHT","Copyright©2000");
echoCOPYRIGHT;
?
>
5、PHP变量
(1)变量命名规则
常量名和其他任何PHP标记遵循同样的命名规则。
合法的常量以字母或下划线开始,后面跟任何字母、数字或下划线。
用特殊符号“$”
如:
$var='Bob';
$Var='Joe';
echo"$var,$Var"输出“Bob',Joe”
$4site='notyet';这是非法的变量名
$_4site='notyet';合法
$i站点is='mansikka';合法,可以用中文
?
>
引用赋值示例:
$foo='Bob';
$bar=&$foo;
$bar="Mynameis$bar";
echo$bar;
echo$foo;
?
>
6、PHP的数据类型
PHP支持以下8种原始数据类型
标量类型
Boolean(布尔型)
Integer(整型)
Float(浮点型)
Srting(字符串类型)
复合类型
Array(数组)
Object(对象)
特殊类型
Resource(资源)到外部资源的一个引用
NULL
四种标量类型:
boolean(布尔型)理解为真假型
integer(整型)
float(浮点型,也作“double”)理解为小数型
string(字符串)
两种复合类型:
array(数组)
object(对象)
(1)布尔型boolean
只能是“真”“假”的数据类型,要指定一个布尔值,须使用关键字TRUE或FALSE
从其他数据类型转换成布尔型,以下值被认为是FALSE:
●布尔值FALSE;
●整型值0;
●浮点型值0.0
●空白字符串和字符串”0”
●没有成员变量的数组;
●特殊类型NULL
其他值都被认为是TRUE
如:
var_dump(bool)"");//bool(false)
var_dump(bool)1);//bool(true)
?
>
(2)整型
这与我们日常所见一样,正整数、负整数,也可以是十进制数、八进制、十六进制。
数值前面可以加上正负号,用八进制数字前加上0、十六进制要加上0x。
从布尔值转换,FALSE换成0,TRUE转换成1。
从浮点数转换,小数点去掉,变成整数。
如:
$a=1234;//十进制数
$a=-123;//一个负数
$a=0123;//八进制数
$a=0x1a;十六进制数
?
>
(3)浮点数型
理解为小数型。
如:
$a=1.234;//表示小数1.234
$a=1.2e3;//表示1.2乘以10的3次方
$a=7E-10;//表示7乘以10的-10次方
?
>
(4)字符串
就是一串字符的集合,使用引号括起来赋给我的自定义变量。
一般共有256种不同字符的可能性。
可以用以下方法进行定义:
A单引号
指定一个字符串的最简单的方法是单引号(‘)括起来,要表示一个单引号,需要用斜线(\)转义。
B双引号
不支持斜线(\)转义字符,需要使用更多的特殊字符转义序列。
C定界符“<<<”
在“<<<”之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
结束标识符必须从行的第一列开始。
如:
$str=<< Exampleofstring spanningmultiplelines usingheredocsyntax. EOD;//字符串标识符EOD表示字符串到此结束 ? > 7、PHP运算符 (1)、算术运算 理解为数学运算 例: 5*6–12 echo5*6-12; ? > 结果显示18 请同学们去做这一个2*(28+1) 注: 算术运算遵循数学运算规则 从左到右,先算乘除后算加减,遇到括号先算括号内 (2)、赋值运算 把一个值写入一个变量 例: 如我们给变量赋一个值,值为1.$a=1; 写法如下: $a=1; echo$a; ? > 结果显示为1. $a+=2; $a*=3; 注: 把右边的值赋予左的变量。 (3)比较运算 用来确定两个数之间的关系 PHP比较运算符 例子 名称 结果 $a==$b $a===$b $a! =$b $a<>$b $a! ==$b $a<$b $a>$b $a<=$b $a>=$b 等于 全等 不等 不等 非全等 小于 大于 小于等于 大于等于 TURE,如果二者相等 TURE,如果二者相等,同时类型也相同 TURE,如果二者不相等 TURE,如果二者不相等 TURE,如果二者不相等,或类型不相同 TURE,前者严格小于后者 TURE,前者严格大于后者 TURE,前者小于或等于后者 TURE,前者大于或等于后者 例: 1==2,等于.结果无显示,表示1不等于2,那就是假,假不显示. 3! =2 5<3 "ok"=="ok" 1==='1' 注: 比较运算得到的值为布尔值 (4)、逻辑运算 先将比较的两边转换成布尔类型,再执行他们的关系 例: 1&&1 0&&1 1||1 1||0 注: 逻辑运算得到的值为布尔值 5、递增递减运算 只操作变量的一种运算 例: $a++,返回$a,然后再将$a的值加1 ++$a,将$a的值加1,再返回$a $a--返回$a,然后再将$a的值减1 --$a将$a的值减1,再返回$a 三、PHP流程控制 1、PHP条件语句的应用 (1)条件语句 有三种结构。 程序中最常见的,大部分语言中都存在的一种条件语句,在开发中起着至关重要的作用。 A、if结构If是最简单的结构,只用到if条件,当作单纯的判断。 解释成“若发生了某事则怎么处理”,语法如下: if(expr){ student } Expr为判断的条件,通常是用逻辑运算表达式当判断的条件。 Student为符合条件的执行部分程序,若程序只有一行,可能省略大括号。 如: if(date("D")=="Sat")echo"周末了,狂欢去"; ? > B、if…else…结构 是在if的基础上加else的条件,可解释成“若发生了某事则怎样处理,否则该如何解决” if(expr){ statement1 }else{ statement2 } C、if…else……elseif结构 是递规的if…else循环,通常用在多咱决策判断时,它将数个if…else拿来合并处理。 if($a>$b){//判断两个变量的大小 echo"a比b大";//判断是否相等 }esleif($a=$b)//判断是否相等 echo"a等于b" }else{ echo"a比b小" } ? > 2、switch条件语句 通常用于处理复合式的条件判断,每个子条件是一个指令。 相等 if($i==0){ echo"输出0"; }elseif($i==1){ echo"输出1"; }elseif($i==2){ echo"输出2"; } 用switch语句来判断今天是星期几 switch(date("D")){ case"Mon": echo"今天是星期一"; break; case"Tue": echo"今天是星期二"; break; case"Wed": echo"今天是星期三"; break; case"Thu": echo"今天是星期四"; break; case"Fri": echo"今天是星期五"; break; default; echo"今天放假"; break; } ? > 3.do...while循环语句 (1)while结构: while结构是最简单的结构,只利用while循环,用于指定的条件内不断地重复指定的步骤。 语法如下: while(expr){ statement } 其中expr为判断条件,通常是用逻辑表达式当判断的条件。 而statement为符合条件的执行部分程序,若程序只有一行,可以省略大括号。 也可以不用大括号来包住执行部分。 而使用冒号加上endwhile。 例: $i=1; while($i<=10): print$i++; echo".以后不做了 endwhile; ? > 结果显示: 1.以后不做了 2.以后不做了 3.以后不做了 4.以后不做了 5.以后不做了 6.以后不做了 7.以后不做了 8.以后不做了 9.以后不做了 10.以后不做了 (2)do...while结构 它是先执行,再判断是否要继续执行,即循环至少是执行一次。 语法如下: do{ statement }while(expr); 例: do{ echo"循环".++$a; }while($a<4); ? > 结果显示: 循环1循环2循环3循环4 4、breakn循环控制语句 也可以理解为循环中断语句,跳出循环语句 (1)break循环 是指跳出当前循环,如: $i=0; while($i<10){ if($arr[$i]=="stop"){ break; } $i++; } ? > 结果不显示。 (2)breakn循环指跳出N条循环。 5、continue 用于立即停止目前执行的循环,并回到循环的条件判断处。 如: while(list($key,$value)=each($arr)){ if($key%2){ continue; } do_something_odd($value); } ? > 提示: 在PHP中不能使用goto语句来跳转到程序的某个特定地方。 6、for循环语句 for循环是PHP中最复杂的循环结构。 它的行为和C语言的相似。 for($i=1;$i<=10;$i++){ echo"$i.以后不做了 } ? > 这与前面while结构的那个例子是完全一样的。 下面用for结构打印12*12乘法表 print(" for($Row=1;$Row<=12;$Row++) { print(" //doeachcolumn for($Column=1;$Column<=12;$Column++) { print(" print($Row*$Column); print(" } print("
\n";
\n";\n"); \n");"); ");
}
print("