PHP基础知识小结

第一章 PHP基础语法

1.1 PHP中的注释

注释名称代码样式
单行注释// 或 #
多行注释/*...*/

注意:

​ 多行注释中可以嵌套单行注释,但不可以嵌套多行注释。

PHP注释--使用实例

1.2 PHP的格式

写法一:

写法二:

省略?>不写,最后一行代码一定要写分号;若是写上?>,那么最后一行代码的分号可以省略不写。(要是PHP文件中含有HTMl代码,则一定要写上?>)

第二章 变量声明

变量,是指可变的量。一旦被声明后,可以动态去改变变量的值。

2.1 变量命名规范

  1. 以$符开头
  2. 由数字、字母、下划线组成,但不能以数字开头
  3. 可以用中文命名,但不推荐使用
  4. 严格区分大小写
  5. 要使用一个变量,必须先声明该变量
  6. 给变量命名时,要有一定的含义,即起到见名知意的作用

变量命名--使用实例

2.2 变量相关函数

函数作用
echo打印普通变量和字符串,不能打印数组
(打印true为1,打印false时,页面不显示任何信息)
print_r()打印变量信息,可以打印普通变量,常用于打印数组(打印true为1,打印false时,页面不显示任何信息s)
var_dump()打印变量的所有相关信息,可以打印出布尔型的true和false
isset()检测一个变量是否存在(被声明),若存在返回true,不存在返回false
unset()销毁变量,使该变量相当于未被声明过

注意:

print_r()在实际开发中,处理较多的数据时,使用效果比var_dump的效果要好。

变量相关函数--使用实例

2.3 可变变量$

可变变量--使用实例

 aaa,然后是$aaa -> 王文$two = 'aaa';$$two = '王文';echo $aaa; //王文$one = 'bb';$bb = '哈哈';echo $$one; //哈哈

2.4 引用赋值&

变量的赋值,会自上而下覆盖前一个变量的值(变量总是传值赋值);但在使用&后则不再直接传值赋值,而是直接引用。此时,若&前后的任意一个值改变,两个变量的值都随之改变,且引用赋值后面的那个值一定是个变量

引用赋值--使用实例

第三章 变量的数据类型

3.1 八种数据类型

分类数据类型类型组成
标量类型布尔型true、false
整型正整数、负整数、0、进制
浮点型小数、科学计数法(1.7E308)
字符串单引号、双引号、定界符
复合类型数组1. 根据下表来分类 2. 根据维度来区分
对象万事万物皆对象
特殊类型资源创建图片,打开文件夹
null什么都没有,不只是代表空

3.1.1 布尔型

建议使用var_dump()进行打印,当使用echo进行打印时,true会在页面显示 1,false则什么也不显示

六种(其他类型转化为布尔型)为false的情况,其他都为true
布尔型的 0
整型的 0
浮点型的 0
空字符串和字符串为 0 (空字符串:字符串中不能有空格)
空的数组
特殊类型null

布尔型--使用实例

3.1.2 整型

进制:

​ 二进制(以0b开头)、八进制、十进制、十六进制(以0x开头)

最大值与最小值

​ 针对于32位操作系统,整型的最大值为2147483647,最小值为-2147483647,超过这个值则会变成浮点型。

整型--使用实例

3.1.3 浮点型

最大值为1.7E308(1.7*10的308次方),超过这个值则为INF(无穷大);最小值为-1.7E308,超过最小值则为-INF(负无穷大)。

浮点型--使用实例

3.1.4 字符串

字符串就是用单引号、双引号、定界符包含起来的字符,字符串没有长度限制。

单引号和双引号的区别

单引号双引号
不解析变量、高效率、推荐使用可以解析变量,变量前后应加上一个空格或{}
不能嵌套使用单引号、可以嵌套双引号,要使用单引号需要转义字符(不能自插,只能互插)不能嵌套使用双引号,可以嵌套单引号,要使用双引号需要转义字符
转义字符只能转义自身和转义单引号使用转义字符,只能转义它自身和双引号
不能解析特殊字符,使用特殊字符时,会显示反斜号可以解析特殊字符

单引号与双引号--使用实例

';// 双引号// 可以解析变量,也可以解析特殊字符// 可以直接插入单引号,可以转义字符本身和双引号// 要想插入双引号,则需要加上转义字符\$a = '张三';$str = "{$a}该打的仗我'已经打过了,\"该跑的路\"我也跑到了\\尽头,老子信的道老子自己来守 我宁可\n\r\t做一辈子披荆斩棘的小丑,也绝不会变成你们这种人渣的样子";echo $str;

定界符的使用规范

​ 定界符(<<<)声明时,在这个定界符后以一种标识符开始,然后以这个标识符结束。

定界符--使用实例

注意:

  1. 定界符后面加上标识符时,不能再加任何东西(包括空格、符号等)
  2. 作用与双引号一致,可以解析变量,适用于大量文本输入
  3. 标识符的命名符合PHP的命名规范,不能以数字开头

PHP中常用转义字符

转义字符作用
\n换行,将光标移到下一行的第一格
\r回车,将光标移到当前行的第一格
\t水平制表,将光标移到下一个水平制表位置(一个table符的距离)
\'单引号,显示一个单引号
\"双引号,显示一个双引号
\\斜杠,显示一个斜杠

3.1.5 数组

根据下标来分类根据维度来分类
索引数组 (下标全是数字的)一维数组 (只有一个array进行嵌套的)
关联数组 (下标全是字符串的)二维数组 (有两个array进行嵌套使用)
混合数组 (小标既有数字又有字符串的)多维数组 (有两个以上的array进行嵌套使用)

数组--使用实例

1,'name'=>'张三','sex'=>'男');var_dump($arr2);// 3. 混合数组 下标既有数字又有字符串的$arr3 = array(1,'name'=>'李四',18);var_dump($arr3);// 根据维度来分类// 1. 一维数组$arr4 = array(1,2,3);var_dump($arr4);// 2. 二维数组 同一数组中嵌套一个数组$arr5 = array(array(1,'name'=>'tom'),array(1,2,3),);var_dump($arr5);// 3. 多维数组 同一数组中嵌套两个及以上的数组$arr6 = array(array(array(1,2,3),array(1,2,3),),);var_dump($arr6);

3.1.6 对象

万事万物皆对象,后面会讲到类与对象的关系,指一类事物形成的对象

类:指具有相同特征的一类事物

3.1.7 资源

资源指的是连接两者的通道,在PHP中,资源指的是打开一个文件或图片等。

3.1.8 null

null是PHP中一种特殊的类型,null不区分大小写(NULL)

三种被认为是null的情况
1. 直接赋值为null
2. 直接打印尚未被赋值的变量
3. unset()函数销毁一个变量

null--使用实例

3.2 检测变量是否被声明

  1. issert() 检测变量是否被声明,如果被声明返回true,否则返回false
  2. empty() 检测变量的值是否为空、零、假、null,如果是返回true,否则返回false

检测变量函数--使用实例

3.3 判断数据类型

函数作用
is_bool()判断是否是布尔型
is_int()判断是否是整型
is_float() | is_real()判断是否是浮点型
is_string()判断是否是字符串
is_array()判断是否是数组
is_object()判断是否是对象
is_resource()判断是否是资源
is_null()判断是否是null
is_scalar()判断是否是标量
is_numeric判断是否是任何类型的数字和数字字符串
is_callable判断是否是有效的函数名

注意:

标量是指整型、浮点型、布尔型和字符串型。

判断数据类型--使用实例

3.4 数据类型转换

PHP属于弱类型语言,不像java, C++等语言是强类型语言,区别在于,弱类型的语言是自动转换数据类型,强类型语言必须手动声明类型。

3.4.1 自动类型转换

自动类型转换中,标量的四种类型和null可以进行自动类型转换。但实际使用中,只有布尔型和字符串间的转换有意义。

其中,布尔型自动转换时,true-->1 false-->0

字符串自动转换时,会从左往右进行选值,当遇到数值时则保留(数值中遇到其他字符只保留前面无其他字符的数值),遇到字母则直接舍去。

自动类型转换--使用实例

3.4.2 强类型转换

  • 类型转换仅当次有效

    括号加类型名 (int)$a

    函数名加变量 intval($a) boolval() strval() floatval()

  • 类型转换永久有效

    ​使用settype()函数进行永久类型转换,settype()函数中有两个参数,第一个为要改变类型的变量,第二个为要改变的类型名

强类型转换--使用实例

';// 1.2 使用函数名加变量// boolval() intval() floatval() strval()// var_dump(boolval($a));var_dump(intval($a));var_dump(floatval($a));var_dump(strval($b));var_dump($a);var_dump($b);echo '
';// 2. 永久有效的类型转换 settype()settype($a,'integer');var_dump($a); //0var_dump($a); //0

第四章 常量

4.1 常量

常量,是指常驻内存(即不变)的量,常用来连接数据库。用define来进行声明

常量定义格式

define('常量名','常量值',false) // false 常量名区分大小写,默认情况下就是false
define('常量名','常量值',true)  // true 常量名不区分大小写

常量名的命名规范

  1. 不能以$符开头
  2. 由数字字母下划线组成,但不能以数字开头
  3. 可以用中文命名,但不推荐使用
  4. 常量一旦被命名后,则不可以再次声明相同名称的常量
  5. 常量名推荐使用大写字母
  6. 常量全局有效

defined() 函数用来检测一个常量名是否被声明

常量名--使用规范

';// echo aa;echo bb;echo '
';// 1. 不能以$符开头// 2. 常量名以数字字母下划线组成,但不能以数字靠头define('a_11','不能以数字开头');// define('11a','不能以数字开头');echo a_11;// echo 11a;echo '
';// 3. 常量名可以使用中文,但不推荐使用define('张三','你真的好帅');echo 张三;echo '
';// 4. 常量名一旦被声明,不能再声明相同名称的常量// define('张三','上面被声明过吗');// echo 张三;// 5. 常量名推荐使用大写字母define('CC','这是推荐使用的哦');echo CC;echo '
';// 6. 常量名全局有效// defined() 函数用来检测一个常量名是否被声明// 括号中记得加上引号,常量被声明返回true 否则返回falsevar_dump(defined('CC'));var_dump(defined('DD'));

4.2 系统常量和魔术常量

  • 系统常量
PHP_OS       PHP运行的系统内核名称
PHP_VERSION  PHP版本号
  • 魔术常量
__LINE__ 返回当前行的行号
__FILE__ 返回当前文件的全部路径以及文件名

系统、魔术常量--使用实例

第五章 运算符

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。(是可以通过一个以上的值进行运算,产生另一个值)

5.1 算数运算符

算术运算符:+ - * / % ++ --

算数运算符--使用实例

5.2 连接运算符

神奇的米粒(.)

字符串运算符的用途:

  1. 字符串与字符串之间的连接
  2. 字符串与变量之间的连接
  3. 变量与字符串之间的连接
  4. 变量与变量之间的连接

连接运算符--使用实例

'.'就不要想得太美';echo '
';// 2. 字符串与变量间的连接$str = '该打的仗已经打完了';echo '我依旧是个小丑'.$str;echo '
';// 3. 变量与字符串间的连接echo $str.'我依旧是个小丑';echo '
';// 4. 变量与变量间的连接$str2 = '
小丑';echo $str.$str2;

5.3 赋值运算符

运算符含义
=将一个值或者表达式的结果赋值给变量
+=将变量与所赋的值相加后的结果赋值给变量
-=将变量与所赋的值相减后的结果赋值给变量
*=将变量与所赋的值相乘后的结果赋值给变量
/=将变量与所赋的值相除后的结果赋值给变量
%=将变量与所赋的值求模后的结果赋值给变量
.=将变量与所赋的值连接后的结果赋值给变量

赋值运算符--使用实例

5.4 比较运算符

运算符含义
>大于,当左边的值大于右边的时候返回true,否则返回false
<小于,当左边的值小于右边的时候返回true,否则返回false
>=大于等于,当左边的值大于等于右边的时候返回true,否则返回false
<=小于等于,当左边的值小于等于右边的时候返回true,否则返回false
==等于,两边的数值都相等时返回true,否则返回false
===全等于,两边的值和类型全都相等的时候返回true,否则返回false
!=不等于,两边的值不相等的时候返回true,否则返回false
!==全等于,两边的值和类型全都不相等的时候返回true,否则返回false

比较运算符--使用实例

 $b); //falsevar_dump($a < $b); //truevar_dump($a >= $b); //falsevar_dump($a <= $b); //truevar_dump($d == $c); //truevar_dump($d === $c); //faslevar_dump($c <>$d); //false  <>等同于 !=var_dump($c != $d); //falsevar_dump($c !== $d); //true

5.5 逻辑运算符

运算符含义
逻辑与 && (and)一边为假,即为假
逻辑或 ||(or)一边为真,即为真
逻辑非 真变成假,假变成真
逻辑异或 (xor)相同为假,不同为真

逻辑运算符--使用实例

5.6 其他运算符

运算符含义
?:三元运算符,用于简单的逻辑判断(结果只有false或true的)
``执行运算符,用于输出windows系统cmd中的命令结果
@错误控制运算符,用于抑制PHP中的notice错误
=>数组下标指定符,指定数组的下标和值

其他运算符--使用实例

 $b ?1:0;// 2.执行运算符 ``(反引号)// 如果要正确显示文字,只要将火狐浏览器中的查看->文字编码 改为简体中文即可echo '
';echo `ipconfig`;echo `tree`;// 3. 错误控制运算符 @// 让notice错误不显示echo @$c;// 4. 数组下标指定符$arr = array('name'=>'sea','age'=>18);var_dump($arr);

5.7 逻辑与或的短路特征

  • 逻辑与

    逻辑与运算符前面为假时,则不再执行后面的代码

  • 逻辑或

    逻辑或运算符前面为真时,则不再执行后面的代码

逻辑与或短路特征--使用实例

第六章 流程控制

代码执行顺序:从上到下,从左到右

常用的分支结构

  • if语句

    if(){} 只能管理花括号里面的内容,该内容被称为代码块或语句体

  • if...else语句

  • switch...case从句

分支结构--使用实例

第七章 循环结构

循环结构的三要素:初始值、循环条件、改变条件

7.1 常用的循环结构

  • for循环
for(表达式1,表达式2,表达式3){循环体语句
}
  • while循环
while(判断条件){循环体语句
}
  • do...while循环(了解)
do{循环体语句
}while(判断条件)

循环结构--使用实例

输出1到100的数// 1. for循环for ($i=1; $i <= 100; $i++) { echo $i.' ';}echo '
';// 2. while循环$j = 1;while ($j <= 100) {echo $j.' ';$j++;}echo '
';// 3. do...while循环$h = 1;do {echo $h.' ';$h++ ;} while ($h <= 100);

7.2 特殊形成控制

特殊控制名称作用
break跳出整个循环,执行下面的代码
continue跳出本次循环,进入下次循环
exit 或 die终止程序运行

特殊形成控制--使用实例

第八章 函数

函数是一种功能,通过调用,可以实现特定的一些功能。

函数分为系统函数自定义函数

函数的要点:

  1. 函数的作用

  2. 函数的参数

  3. 函数的返回值

8.1 自定义函数

函数的基本格式

/*function 函数名(参数1,参数2,...){函数体 (php语句)[return 返回值]}调用方法函数名();*/

函数的命名规范

  1. 函数的命名规范遵循PHP的命名规范,数字、字母和下划线组成,但不能以数字开头
  2. 不区分大小写,但我们一般使用小写
  3. 不能重复声明函数名一样的函数
  4. function_exists()函数用于检测函数名是否被生命,括号内的函数名一定要加上引号

声明自定义函数--使用实例

8.2 函数的return返回值

return返回值的作用

  1. 如果函数中存在return并且执行了该return,那么该函数的将执行结构可以被变量接受。
  2. 如果函数的执行过程中执行了return语句,后续的代码将不再执行。

return与echo的区别

echo 函数中使用echo时,调用函数就可以打印相应变量的值。

return 函数中只使用return时,想要打印相应变量的值,还需要echo等函数

函数返回值--使用实例

8.3 函数的形参和实参

形参:形式上的参数,声明函数时小括号中的参数

  1. 形参可以有默认值,也可以没有默认值
  2. 如果形参有默认值,则需要将有默认值的参数放在最右边(因为实参传值总是从左边第一个开始传值)
  3. 形参没有默认值,必须需要实参进行传值
  4. 形参只是起到占位的作用,多个形参之间用逗号进行隔开

实参:实际的参数,调用函数时小括号中的填写的内容

  1. 实参的个数可以比形参多,但多出来的实参并没有任何作用。所以,一般情况下,实参个数等同于形参个数。

  2. 只有当形参有默认值时,实参的个数少于形参的个数。

函数的参数--使用实例

8.4 其他函数(了解)

其他函数包含:

​ 可变参数函数、变量函数、匿名函数和递归函数

匿名函数实际上就是将一个函数赋值给了变量,所有需要先声明这个函数,再能调用。(这种用法,在JavaScript中比较常见)

8.5 函数中的变量作用域

php中的作用域,指的是局部变量和全局变量(即变量在函数内或函数外)。

普通变量: 不调用不执行,每次调用时都要申请一个空间去执行,结束后清楚掉空间

静态变量: 相对于内存而言,是静止不动的变量。函数调用结束后,不从内存中消失,下次直接使用

常量的作用与静态变量相仿,当常量无法像静态变量那样随时修改变量的值。

变量作用域--使用实例

'; // 4echo func().'
'; // 4echo func().'
'; // 4function func1(){static $b = 3;$b += 1;return $b;}echo func1().'
'; // 4echo func1().'
'; // 5echo func1().'
'; // 6

第九章 文件包含

include include_once 文件包含

require require_once 也是文件包含,但有必须存在的意思

被报包含的文件,如果内部有return返回值,会把整个函数返回到包含的地方

1. 文件包含的作用

通常用于多个文件的重复代码,将其生成一个文件引入即可。

2. include和require的区别

include 引入一个不存在的文件会报一个warning的错误,但代码继续执行。

一般用于广告等第三方代码的引入。

require 引入一个不存在的文件会报一个warning的错误,代码终止执行。

一般用于底层库等重要文件的引入。

3. 加once的作用

_once 指的是代码仅引入一次,如果之前引入过,则不再重复引入。

第十章 数组

数组的本质是指存储、操作和管理一组变量。

键值对的概念:$arr = array('name'=>'sea','age'=>18);

每个数组有多个值,多个值中间用逗号隔开,每个逗号内的数据被称为一个单元。

每个单元都有键、下标(=>)和值,即键值对的方式。声明下标时,该单元的下标即为声明的值,否则,下标为整数。(获取数组中的值时,就是通过数组的下标进行取值的)

10.1 数组的声明方式

  • 使用array()的方式声明(常用)
'sea','age'=>18,'sex'=>'男');var_dump($arr1);// 3. 混合数组$arr2 = array('name'=>'sea',18,'sex'=>'女');var_dump($arr2);
  • 使用[]的方式声明(5.6版本以上才能使用)

  • 直接赋值法声明$arr[]='sea';

10.2 数组的增删改查

'sea','age'=>18,'sex'=>'男','address'=>'南京');// 1. 增$arr[] = 'happy';$arr['hobby'] = '读书';// 2. 删// 2.1 删除一个单元unset($arr['sex']);// 2.2 清空数组// $arr = array();// 2.3 删除整个数组// unset($arr);// 3. 改$arr['hobby'] = '跑步';// 4. 查var_dump($arr);

10.3 数组的遍历

一维数组的取值一般都是用键值对的方式

数组的变量方法众多,像for循环遍历、foreach遍历、while list each遍历等,这里,我只介绍最常用的遍历方式

foreach遍历数组的格式:

foreach(要遍历的数组 as 键=>值){循环体;
}

foreach遍历数组--使用实例

array('name'=>'张三','age'=>18,'sex'=>'男'),1=>array('name'=>'李四','age'=>20,'sex'=>'男'),2=>array('name'=>'王二','age'=>30,'sex'=>'女'),3=>array('name'=>'李文','age'=>42,'sex'=>'男'),);var_dump($arr);foreach ($arr as $key => $value) {echo $value['name'];echo $value['age'];echo $value['sex'].'
';}

10.4 超全局数组变量

超全局数组变量,是系统提供的,且在任何作用域下都可以使用的变量。

超全局数组变量的字母都是大写的

1. $_SERVER--- 服务器和执行环境信息

2. $_GET--- 获取地址栏的信息




Document



小白

3. $_POST--- 收集method=post表单中的值




Document



4. $_FILES--- 打印文件上传是否成功的内容信息

表单类型为file时,form标签必须添加第三个属性enctype="multipart/form-data"来配合文件上传,method方式也要是post




Document


第十一章 系统函数列表

见附录集

转载于:https://www.cnblogs.com/jingbai/p/php-basic.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章