PHP环境:
Linux:LAMP=>Linux+Apache+MySQL+PHP
Windows:WAMP=>Windows+Apache+MySQL+PHP
PHP基本语法:
简介:PHP(Hypertext Preprocessor,超文本预处理器)是一种被广泛应用、开放源代码、多用途、运行在服务器端的脚本语言。
功能介绍:
1.收集form表单数据,表单通常GET或POST方法将数据发送到PHP程序脚本。
2.生成动态网页,PHP脚本程序可以根据用户在客户端的不同输入请求,在服务器端运行该脚本后动态输出用户请求的内容。
3.字符串处理,PHP把字符串作为一种基本数据类型来处理,提供丰富的字符串处理函数,并使用强大的正则表达式来对字符串或文本进行搜索、查找、匹配、替换等操作。
4.动态输出头像,PHP通过GD扩展库还能进行动态输出图像。
5.服务器端文件系统操作,PHP可以利用文件系统函数任意操作服务器中的目录或文件,包括目录或文件的打开、编辑、复制、创建、删除,以及文件属性等操作。
6.编写数据库支持的网页,PHP最强大最显著的特征之一就是它支持很大范围的数据库。目前,PHP可以连接任何支持世界标准的数据库。
7.会话跟踪控制,PHP中使用会话跟踪控制功能在网站中跟踪一个用户,这样可以很轻松的做到用户登录的支持。
8.处理XML文件,PHP具有极其有效的文本处理特性,支持从POSIX扩展或者Perl正则表达式到XML文档解析。
9.支持利用大量的网络协议,PHP支持诸如LDAP,IMAP,SNMP,NNTP,POP3,HTTP,COM等协议的服务。还可以开放原始网络端口,使得任何其他协议能够协同工作。
10.服务器及其他操作,例如电子商务各种在线交易、各种扩展库、所有主流操作系统上web服务器...
PHP语言标记
1.PHP代码风格
1> 以 <?php 开始和以 ?> 结束的标记是标准风格的标记
格式:<?php PHP代码段 ?>
2> 以 <script language="php"> 开始和以</script>结束是长风格标记
格式:<script language="php"> PHP代码段 </script>
3> 以 <? 开始和以 ?> 结束的标记是短风格标记
格式:<? PHP代码段 ?>
4> 以 <% 开始和以 %> 结束的标记是ASP风格的标记
格式:<% PHP代码段 %>
2.PHP指令分隔符“分号”
1 <?php 2 echo "This is a test."; //这是一个PHP指令,后面一定要加上分号表示结束 3 ?> 4 <?php 5 echo "This is a test." //最后的结束标记?>隐含一个分号,所以这里可以省略分号结束 6 ?>
3.PHP中的注释
//这是C++风格的单行注释
#这是Unix shell风格的单行注释
/*这是多行注释,可以有多行文字*/
4.PHP中的变量
PHP中最基本的数据存储单元就是变量和常量,他们可以存储不同类型的数据。
1>变量声明
在PHP中可以声明并使用自己的变量,PHP特性之一就是它不要求在使用变量前声明变量。
命名规则:以$符开始,由字母或者下划线开头,后面跟上任意数量的字母、数字或者下划线。
注意:变量的标识符一定不要以数字开头,中间不能使用空格,不能使用点分开等。
代码:
1 <?php 2 //声明一个变量并为它赋值 3 $a=100; //声明变量$a赋上一个整型数据值100 4 $b="string"; //声明变量$b赋上一个字符串值"string" 5 $c=true; //声明变量$c赋上一个布尔类型值true 6 $d=9.99; //声明变量$d赋上一个浮点型值9.99 7 8 $key=$a; //声明变量$key,将$a变量的值赋给它 9 $v1=$v1=$v3="value"; //声明变量$v1,$v2,$v3并为它们赋上相同的值 10 ?>
注:这里可以借助emtpy()函数检查一个变量是否为空,借助unset()函数释放指定的变量。
2>可变变量
一个普通变量通过声明来设置,而一个可变变量获取一个普通变量的值作为这个可变变量的名字。
代码:
1 <?php 2 $hi="hello"; 3 $$hi="world"; 4 5 echo "$hi $hello"; 6 echo "$hi ${$hi}"; 7 ?>
3>变量的引用赋值
引用赋值:新的变量简单的引用(简单的说就是取了个“外号”或者“指向”)了原始变量。改变新的变量将影响到原始变量。
代码:
1 <?php 2 $a=100; 3 $b=&$a; 4 5 echo $b; //100 6 echo $a; //100 7 $b=200; 8 echo $b; //200 9 echo $a; //200 10 ?>
注意:PHP中的引用并不像C语言中的地址指针。上例不会导致$a和$b在内存上同体,只是把各自的值相关联起来。基于这一点,使用unset()则不会导致所有引用变量消失。
4>变量的类型
PHP中支持八种原始类型,其中四种标量类型(boolean、integer、float/double、string)、两种复合类型(array、object)、两种特殊类型(resource、NULL)
a.布尔型(boolean)
布尔型只有两个值:TRUE和FALSE即“真”和“假”。它是构成PHP逻辑控制的判断依据。
以下值是Boolean值为FALSE的情况,其他都为TRUE(包括任何资源):
布尔值FALSE
整型值0为假,其他一切为真包括-1和其他非零值(不论正负)
空白字符串和字符串"0"
没有成员变量的数组
特殊类型的NULL(包括尚未设定的变量)
b.整型(integer)
整型变量用于存储整数。有常用的十进制(基数为10)、还有二进制(基数为2,数字前必加"0b")、八进制(基数为8,数字前必加"0")、十六进制(基数为16,数字前必加"0x")
c.浮点型(float或double)
浮点数是包含小数部分的数,通常用来表示整型无法表示的数,范围比整型大,但不精确,永远不要比较两个浮点型数据,如果确实需要更高精度,应该使用任意精度数学函数或者gmp()函数。
d.字符串(string)
字符串是一系列字符组成,可以使用单引号、双引号、定界符三种方式定义。
代码:
1 <?php 2 $str1="这是一个双引号定义的字符串"; 3 $str2='这是一个单引号定义的字符串'; 4 $str3=<<<END 5 这是一个定界符定义的字符串 6 END; 7 ?>
单引号定义:在单引号引起来的字符串中不能再包含单引号,如果需要使用应该使用来转义。另外单引号不支持解析变量,而是直接将变量名原样输出。效率高
双引号定义:支持解析变量,内部使用双引号也需要转义,效率比单引号低
定界符定义:定界符结束标示必须从第一列开始,不能包含任何其他字符,空格和制表符也不行。定界符除了不能初始化类成员基本和双引号一样。
e.数组(array)
数组是用来存储多个数据的复合数据类型。可以通过多种方法构造一个数组,最常用的就是array()语言结构来新建一个数组,用逗号分开key=>value参数对。
f.对象(object)
对象和数组一样属于复合数据类型,是一种比数组更高级的数据类型。
g.NULL类型
NULL值标书一个变量没有值,NULL类型唯一可能的值就是NULL,NULL不区分大小写。以下情况变量会被认为是NULL:
将一个变量直接赋值NULL
声明的变量尚未赋值
被unset()函数销毁的变量
5.PHP中的伪类型
mixed:说明一个参数可以接受多种不同(但并是必须是所有)类型。
number:说明一个参数可以是integer或者float
callback:接受用户自定义的函数作为一个参数
6.数据类型转换
类型转换是指将变量或值从一种类型转换成其他数据类型。方法有两种:自动转换和强制转换
1>自动类型转换
bool和NULL可以自动转换成integer或float
string可以自动转换成integer或float
2>强制类型转换
在转换的变量之前加上用括号括起来的数据类型,也可以使用具体的转换函数,即intval(),floatval(),strval()等,或者使用settype()函数转换类型
7.常量
常量一般用于一些数据计算中固定的数值,常量的声明类型只能是四种标量数据。在脚本执行期间一个常量一旦被定义就不能再改变或取消定义,直到脚本运行结束自行释放。常量的作用域是全局的,可以在脚本的任何地方声明和访问到常量。
常量通过define()函数来定义。常量名与变量名命名相似,但不需要用$符开头,大小写敏感,一般每个字母都大写。
8.PHP运算符
算术运算符:+,-,*,/,%,++,--
字符串运算符:.
赋值运算符:=,+=,-=,*=,/=,%=,.=
比较运算符:>,<,>=,<=,==,===,<>或!=,!==
逻辑运算符:and或&&,or或||,not或!,xor
位运算符:&,|,^,~,<<,>>
其他运算符:?:,``,@,=>,->,instanceof
关于优先级:能用括号用括号,无敌