PHP基础知识点汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP基础知识点汇总
⼀、PHP的基本语法
PHP(Hypertext Preprocessor,超⽂本预处理器)是⼀种运⾏在服务器端的脚本语⾔。
1.PHP语⾔标记
<?php 标准风格标记,属于XML风格;?>
<script lanauage="php">长风格标记</script>
<? 短风格的标记 ?>
<% ASP风格的标记 %>
2.PHP指令分割符
PHP需要在每个语句(指令)后⽤分号结束!
3.程序注释
// 单⾏注释
# 单⾏注释
/* 多⾏注释 */
/**多⾏⽂档注释 */
4.变量
简⾔之,变量是⽤于临时存储值的容器。
(变量在任何语⾔中都处于核⼼地位)
变量的命名:
PHP中声明变量必须是使⽤⼀个美元符号"$"加上后⾯的变量名来表⽰,使⽤赋值操作符(=)来给⼀个变量赋值。
变量的命名:
⼀个有效的变量名是由字母或下划线开头,后⾯跟上任意数量的字母、数字或者下划线。
要注意的是,变量名⼀定不能以数字开头,并且中间不可以使⽤空格,不能使⽤点分开 等!
按照正常的正则表达式,他将被表⽰成:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'。
可变变量:
$str = 'hello';
$$str = 'world';
echo "$str $hello"; //输出hello world
echo "$str $$str"; //输出hello world
变量的引⽤赋值:
简单的使⽤"&"加到将要赋值的变量前。
这意味着新的变量简单的引⽤了原始变量。
(换⾔之,“成为其别名”或者“指向”)。
$foo = 'Bob';
$bar = &$foo;
$bar = '世界,你好!';
echo $bar; //输出世界,你好!
echo $foo; //输出世界,你好!
$foo = 'hello world';
echo $foo; //输出hello world
echo $bar; //输出hello world
变量的类型:
|-----boole布尔型
|-----integer整形
|-----四种标量类型---- |-----float浮点型,也称double
| |-----string字符串
|
数据类型--|
| |-----array数组
|-----两种复合类型---- |
| |-----object对象
| |-----resource资源
|-----两种特殊类型---- |
|-----NULL
布尔型(TRUE or FALSE):
布尔值FALSE
整型值0为假,其他⾮零值不论正负均为TRUE
浮点型0.0
空⽩字符串和字符串'0'
没有成员变量的数组
没有单元的对象(仅适⽤于PHP4)
特殊类型NULL
整型:如果给定数超出整型范围,将会被解释成float。
浮点型:范围在1.7E-38~1.7E+38之间,精确到⼩数点15位。
字符串:可以使⽤单引号、双引号和定界符三种⽅法定义!
数组:可以存放多个数据,并且可以存⼊任何类型的数据。
对象:由属性和⽅法构成。
属性表⽰对象状态,⽅法表⽰对象功能!
资源类型:保存在外部资源的⼀个引⽤,通过专门的函数进⾏建⽴和使⽤!
NULL类型:NULL不表⽰空格,不表⽰零,也不表⽰空字符串,⽽是表⽰⼀个变量的值为空。
将变量直接赋值为NULL;
声明的变量未被赋值
被unset()函数销毁的变量
伪类型:
mixed:说明⼀个参数可以接受多种不同的(但并不必须是所有的)类型。
number:说明⼀个参数可以是integer后者float。
callback:接受⽤户⾃定义的函数作为参数。
数据类型相互转换:
⾃动类型转换
布尔型TRUE将转化为1,FALSE转化为0。
NULL转化为0。
整型和浮点型进⾏运算,先将整型⾃动转化为浮点型,再进⾏运算
字符串和数字型参与预算,字符串先转化为数字,再进⾏运算。
强制类型转换
(int),(integer):转换成整型
(bool),(boolean):转换成布尔型
(float),(double),(real):转换成浮点型
(string):转换成字符串
(array):转换成数组
(object):转换成对象
或使⽤具体的转换函数:intval(),floatval()和strval()。
注:整型转换为浮点型,由于其精度范围⼩于浮点型,所以转换后精度不会改变,但是浮点型
转换为整型时,会⾃动舍弃其⼩数部分。
检测变量类型:
is_bool():是否为布尔型
is_int(),is_integer(),is_long():是否为整型
is_float(),is_double(),is_real():是否为浮点型
is_string():是否为字符串
is_array():是否为数组
is_object():是否为对象
is_resource():是否为资源类型
is_null():是否为空
is_scalar():是否是标量,也就是是否为整数、浮点数、布尔型或字符串。
is_numeric():是否是任何类型的数字或数字字符串
is_callable():判断是否是有效的函数名
常量:⽤于⼀些固定的值!
常量的声明:通过使⽤define()函数声明常量,常量名照样区分⼤⼩写,按照惯例,⼀般常量名全⼤写,常量名前不要加"$"。
example:define('NAME','xiaozhang');
echo NAME; //输出xiaozhang
常量和变量的区别:
常量前没有"$"符号
常量只能通过define()函数定义,不能通过赋值
常量可以不⽤理会变量范围的规则⽽在任何地⽅定义和访问
常量⼀旦定义就不能被重新定义或者取消定义,直到脚本运⾏结束⾃动释放
常量的值只能是标量类型
PHP中常⽤魔术常量:
__FILE__:当前的⽂件名
__LINE__:当前的⾏数
__FUNCTION__:当前的函数名
__CLASS__:当前的类名
__METHOD__:当前对象的⽅法名
运算符
算数运算符:
+ 加
- 减
* 乘
/ 除
% 取余(求模)
++ 累加
-- 累减
注:$a++先计算表达式然后再执⾏递增的操作,++$a先执⾏递增操作,再计算表达式的值。
累减同理!
赋值运算符:
= 将⼀个值或表达式计算结果赋给变量
+= 将变量与所赋值相加后的结果再赋给该变量
-= ......
*= ......
/= ......
%= ......
.= 将变量与所赋值相连后的结果再赋给该变量
⽐较运算符:
> ⼤于
< ⼩于
>= ⼤于等于
<= ⼩于等于
== 等于
=== 全等于
<>或!= 不等
!== 不全等
注:==和===的区别在于==只关⼼参与⽐较的数的值是否相等,⽽不管类型是否相同!
逻辑运算符:
and或&& 逻辑与两边必须都为TRUE才为TRUE
or 或|| 逻辑或两边只要⼀个为TRUE就为TRUE
not或!逻辑⾮取反,若表达式为TRUE则结果为FALSE
xor 逻辑异或两边不同时为TRUE
表达式:PHP的基⽯,⼏乎所编写的任何代码都可以看做是⼀个表达式,通常是变量、常量和运算符的组合等!⼆、PHP流程控制结构
分⽀结构:
单⼀条件分⽀结构 双向条件分⽀结构 多向条件分⽀结构 巢状条件分⽀结构
if(表达式){ if(表达式){ if(表达式){ if(表达式){
... ... ... if(表达式){
} }else{ elseif(表达式){ ...
... ... }
} } elseif(表达式){
---------------- if(表达式){
switch(表达式){ ...
}else{
case 值1: ...
... }
break; }
case 值2:
...
break;
case 值3:
...
break;
default:
...
}
循环结构:
while语句: do...while语句: for语句:
while(表达式){ do{ for(初始化;条件表达式;增量){
... ... ...
} }while(表达式); }
特殊流程控制语句:
break:中断当前循环,即结束循环的执⾏
continue:只能使⽤在循环内部,功能是跳过该次循环,执⾏下⼀次循环
exit:不论在哪个结构中,直接退出当前脚本
三、PHP的函数应⽤
函数:是指⼀个被命名的,独⽴的代码段,它执⾏特定的任务,并可能给它的程序返回⼀个值!
函数的声明:
function 函数名([参数1,参数2...参数n]){
函数体;
return 返回值;
}
函数的调⽤:函数名([参数1,参数2...参数n]);、
函数的参数:参数列表是由零个、⼀个或多个参数组成,定义函数时,其后⾯括号内的表达式称为形式参数(简称形参),被调⽤函数名后括号内的参数称为实际参数(简称实参)。
函数的返回值:
return语句可以向函数调⽤者返回函数体中任意确定的值;
将程序控制权返回到调⽤者的作⽤域,即退出函数。
在函数中如果执⾏了return语句,则它后⾯的语句将不会再执⾏!
PHP变量的范围:
局部变量:也称为内部变量,是在函数内部声明的变量,其作⽤域仅限于函数内部。
不仅函数内部声明的变量是局部变量,为声明函数设置的参数因为只能在本函数内部使⽤,所以也是局部变量。
区别在于,参数从函数外部获得值,⽽函数中声明的变量只能在函数内部被赋值。
全局变量:也成为外部变量,是在函数外部定义的,它的作⽤域从定义开始,到本程序结束。
函数内部⽆法直接调⽤全局变量,若要使⽤全局变量,必须使⽤global关键字定义⽬标变量或者使⽤$GLOBALS数组(键名对应变量名,值对应变量的内容)。
静态变量:通过static声明静态变量,即函数执⾏完毕后,其静态变量依然保存在内存中!
PHP函数的各种应⽤:
常规参数函数:string funName(string name, int age);
伪类型参数的函数:mixed funName(mixed $args); //使⽤mixed描述的参数
number funName(number $args); //使⽤number描述的参数
引⽤参数的函数:void funName(array &$arr); //使⽤&描述的参数
注:如果函数的形参中使⽤'&'修饰参数,则在调⽤该函数时就必须传⼊⼀个变量,⽽不能传递⼀个值。
默认参数的函数:mixed funName(String name [,string value[,int age]]);//使⽤[]描述的参数可变个数参数的函数:mixed funName(String arg[,String ...]);//使⽤...描述的参数
回调函数:mixed funName(callback arg); //使⽤伪类型callback描述的参数
递归函数:即⾃⼰调⽤⾃⼰的函数,在函数体内部直接或间接的调⽤⾃⼰。