0

0

PHP后端知识点总结分享

小云云

小云云

发布时间:2018-02-28 15:37:58

|

5640人浏览过

|

来源于php中文网

原创

本文主要和大家分享PHP后端知识点总结,我们先和大家介绍一下web服务器,希望本文能帮助到大家。

1.Web服务器

web服务器的作用:接收客户端(pc/pad/phone)的请求,查找需要的数据(文件/数据库/其它系统),发送回客户端。
 web服务器分为两种:
 (1)静态web服务器:提供的内容任何人任何时间都是不变的

静态Web内容:HTML/CSS/JS/Flash/GIF/音视频...
常见的静态Web服务器:Apache Httpd、MS IIS、NginX

(2)动态Web服务器:提供的内容不同人不同时间都可能变化

动态Web内容:
    JSP = HTML + Java(静态Web服务器+Java解释器)
    PHP = HTML + PHP(静态Web服务器+PHP解释器)
    ASP.NET = HTML + C#(静态Web服务器+C#解释器)
    Node.js = HTML + Node

2.PHP背景知识

PHP:Personal Home Page => PHP is Hypertext Preprocessor(Zend)
 LAMP组合 = Linux + ApacheHttpd + MySQL + PHP

3.搭建PHP开发环境

(1)服务器端:下载并安装一款静态Web服务器

c:/xampp/apache/bin/httpd.exe

(2)服务器端:下载并安装PHP解释器,与Web服务器整合

立即学习PHP免费学习笔记(深入)”;

C:/xampp/php/php.exe

(3)服务器端:编写静态/动态网页,保存在Web服务器上

C:/xampp/htdocs

(4)服务器端:启动Web服务器,打开需要的端口

ApacheHttpd服务器默认占用80/443端口

-------------------------------------------
 (5)客户端:在浏览器中输入协议、地址、端口访问Web服务器

http://127.0.0.1:80

4.PHP中的变量和常量

a = 1;
b = 2;
c = a + b;

变量:值可能发生改变的量,如人的年龄、用户的密码、商品的价格。

PHP中声明一个变量:
    $变量名 = 值;         #等号读作“赋值”
输出一个变量的值:
    echo $变量名;         #输出变量值时不加单引号

常量:值不可能发生改变的量,如PI、E。

声明一个常量:
    const  常量名  =  值;
输出一个常量值:
    echo  常量名;

变量名中可以包含数字、字母、下划线,但不能以数字开头
合法的:$age、$age2、$_age_2、$emp_age、$empAge
非法的:$2age、$user-Name、$user Name
常量名中可以包含数字、字母、下划线,但不能以数字开头;习惯上常量名全部使用大写字符
合法的:AGE、AGE2、EMP_AGE

  1. PHP中的数据类型


PHP/JS属于“弱类型语言”—— 创建变量时无需指定类型,一个变量可以先后赋值为不同类型的值

$i = 10;
$i = 'Hello';
$i = true;

echo $变量名;  只能用于输出变量的值;
 var_dump($变量名);  可用于输出变量的类型和值。

PHP中的数据类型——具体可以查看参考手册《语言参考》:
 1)4个标量/值/基础类型

(1)int/integer:整数  -2147483648~2147483647
(2)float/double:小数  float和double完全一样
  (3)string:字符串
(4)bool/boolean:布尔,只能取值为true / false / TRUE / FALSE

2)2个复合类型

(5)array:数组
(6)object:对象

3)2个其它类型

(7)null:空
(8)resource:资源

注意:
(1)整数值超过了int的最大范围(2147483647),自动变为flaot类型
(2)bool的true若用echo输出为'1',false用echo输出为空字符串
(3)string可用单引号/双引号括起来;细微的区别:若单引号字符串中有变量名,则直接输出为变量名;而双引号中的有变量名,则输出为变量的值 —— 双引号中不具备运算能力:"$a+$b"
(4)两个字符串拼接使用 . 号

6.PHP中的运算符

PHP中的运算符分为如下的几大类:
 (1)算术运算符: +  -  *  /  %  ++  --
 (2)比较运算符: >    (3)逻辑运算符: &&  ||  !
 (4)位运算符: >
 (5)赋值运算符:  =  ....
 (6)拼接运算符:  .
 (7)三目运算符:  ?:

3.算术运算符

    • /   %    ++(自加1)   --(自减1)

说明:
 (1)+只用作算术运算,不用做字符串拼接!
 (2)+作用于字符串,会发生隐式转换:试着解析出字符串中的数字,能解析几位就解析几位。
 (3)+作用于布尔,会发生隐式转换:true转换为1,false转化为0。
 (4)%表示求余运算/取模运算,2018%4结果为2,一般用于判定一个数是否能被另一个数整除
 (5)计算一个数字在原有基础上+1,有三种方法:

$n1 = $n1 + 1;
$n1 ++;   #运算速度更快!
 ++ $n1;

4.比较运算符

=  

5.逻辑运算符
 &&(并且/与)    ||(或)      !(取反/非)
 $c = 50;     $m = 80;
 判定语文和数学是否都及格了:   $c>=60  &&  $m>=60
对于&&运算:
true && true  =>  true
false && true  =>  false
true && false  =>  false
false && false  =>  false
 判定语文和数学有一科及格吗:   $c>=60  ||  $m>=60
对于||运算:
true || true  =>  true
false || true  =>  true
true || false  =>  true
false || false  =>  false
 判定语文是否为不及格:    !($c>=60)
对于!运算:
! true  =>  false
! false  =>  true

7.逻辑:短路逻辑

与运算中的“短路”效果:
 false  &&  ?   =>  false        ?将不会被执行
或运算中的“短路”效果:
 true  ||  ?  =>  true             ?将不会被执行

8.位运算符

数字按照二进制(bit位)形式进行运算。
 >(按位右移)
面试题:现在有变量 $num = 5,计算出$num*16的最快方式是:
(a) $num = $num * 16;
(b) $num *= 16;
(c) $num *= 4;
(d) $num (e) $num

结论:一个数字向左按位移动N位,相当于 原数*2^N;
一个数字向右按位移动N位,相当于 原数/2^N;

9.赋值运算符

=   +=  -=   *=   /=   %=
 $n = 30;
 $n = $n + 5;
 $n += 5;   //效果等价于上一行
 $n = $n - 5;
 $n -= 5;   //效果等价于上一行

10.字符串拼接运算

.      .=
 $uname = 'tom';
 $uname = $uname . '先生';
 $uname .= '先生';        //效果等价于上一行

单目运算符:  $a++
双目运算符:  $a + $b
三目运算符:  $a ? $b : $c

11.三目运算符

?:
 语法: 表达式1  ?  表达式2  :  表达式3
 含义:(如果...否则...)如果表达式1的值为true,则返回表达式2的值,否则返回表达式3的值
 示例: $sex = 1;

    $result =  $sex===0  ?  '女'  :  '男'  ;
    echo $result;

12.程序 = 数据 + 算法

1.算法的基本结构
 (1)顺序执行
 (2)选择执行
 (3)循环执行

2.程序逻辑结构 —— 顺序执行

3.程序逻辑结构—— 选择/分支执行之一
 收银台程序 V2.0: 若购物总金额满500,则打八折

选择执行的最基础代码:

if( 条件判定 ){
    //条件判定结果为true时执行的代码
}

语句1;
if( 条件判定 ){
  语句2;
}
语句3;
如果条件判定为true,执行顺序: 1=>2=>3
如果条件判定为false,执行顺序: 1=>3

收银台程序 V3.0: 若已付金额足够商品总价格,计算找零并输出;否则输出错误提示

"如果...否则..."逻辑的语法结构:

if( 条件判定 ){
    //条件判定为true时执行的语句
}else {
    //条件判定为false时执行的语句
}

语句1;
if( 条件判定 ){
  语句2;
}else {
  语句3;
}
语句4;
条件判定为true,执行顺序: 1=>2=>4
条件判定为false,执行顺序: 1=>3=>4

关于"if...else....的嵌套问题"有两种编写方法:
(1)    if(  ){

}else {
    if(){
    }else {
    }
}

(2)    if(  ){

}else if(  ){
}else if(  ){
}else {
}

if1 + else ifN + else*1

小结:
(1)  if( ){   }
(2)  if( ){   }else{   }
(3)  if( ){   }else{  if(){}else{}  }
(4)  if( ){   }else if( ){  }... else{  }

4.程序逻辑结构—— 选择/分支执行之二
 switch...case...break选择分支结构:在多个不同“情形下”进行“切换”。
 语法:    switch( 变量名 ){

web前端知识点总结与分享课件下载
web前端知识点总结与分享课件下载

web前端知识点总结与分享。

下载
        case  值1:            #if(变量名==值1)
            语句1;
        case  值2:            #if(变量名==值2)
            语句2;
        ....
        default:                #else....
            语句n;
    }

含义:若指定变量等于值1,则执行语句1;否则若等于值2,则执行语句2.... 否则执行语句n。
 注意:默认情况下,switch若判定了某个相等条件则执行该条件以及后续所有条件中的执行语句 —— 必须配合break关键字使用。

5.程序逻辑结构 —— 循环结构之一
 循环:多次执行相同或相似的代码
 循环二要素: (1)循环体   (2)循环条件
 第一种循环结构:

while( 循环条件判定 ){
    //循环体
}

含义:执行条件判定,若为true,则执行一次循环体;再次执行条件判定.....直到某次执行完循环体,再去执行条件判定为false,则退出循环,继续执行后面的语句

13.循环结构之二 —— do...while...

语法:

do{
    循环主体;
}while( 循环条件 );

while...先判定后执行    do..while..先执行再判定
$i=0;
while($i  echo 'Hello';  $i++;
}    $i=0;
do{
 echo 'Hello';  $i++;
} while($i$i=10;
while($i  echo 'Hello';  $i++;
}    $i=10;
do{
 echo 'Hello';  $i++;
} while($iwhile循环主体可能执行0~N次    do..while循环主体可能执行1~N次

14.循环结构之三 —— for... —— 重点掌握

语法:

for(  表达式1 ;  表达式2 ;  表达式3 ){
    循环主体;
}

含义:首先执行且仅执行一次“表达式1”;

再执行“表达式2”的判定,若为true,执行一次循环主体;
再执行一次“表达式3”,再去执行“表达式2”的判定,
若为true继续执行一次循环主体.....  直到为false,退出循环。

总结:
“表达式1”在循环开始前执行一次——一般用于声明循环变量;
“表达式2”在每次主体执行前都执行一次——一般用于执行循环判定条件;
“表达式3”在每次主体执行后都执行一次——一般用于执行循环变量的增减。

$i = 0;
while( $i   echo  'Hello';
  $i++;
}    for( $i=0;  $i   echo 'Hello';
}
while和for的功能一样!只是for更加紧凑!
for循环中的三个表达式都可以为空。

循环中使用break关键字: 打断当前循环,不再执行,跳出循环
for($i=1; $i   if($i==5){

  break;

}
  echo "$i";
}
//1/2/3/4
while(true){  ...break;...  }     for( ; ; ){  ...break;...  }
循环中使用continue关键字:跳过此次循环,继续下一次循环
for($i=1; $i   if($i==5){

  continue;

}
  echo "$i";
}
//1/2/3/4/6/7/8/9

15.PHP中的数据类型:复合类型 —— array

表示一个学生的成绩: $score = 90;   #一个标量即可
 表示100个学生的成绩:

$score1 = 85;
$score2 = 98;
$score3 = 77;
....

结论:一个标量类型的变量只能存储一个数据;若想一个变量中存储N个值,可以使用复合类型“数组(Array)”
 创建一个数组的语法:

$变量名 = [ 值1, 值2, .... 值n ];
$变量名 = [  ];

获取数组中元素的个数/数组的长度:

echo  count($变量名);

操作数组中的某个元素——使用元素的下标/索引(index):

$变量名[下标] = 值;     #修改指定下标处的元素值
echo $变量名[下标];        #输出指定下标处的元素值

向数组中添加新元素:

$变量名[ ] = 值;     #新的元素会自动获取新的下标

思考:创建一个数组,保存一个学子商城中用户的信息,编号、用户名、密码、注册时间、当前是否在线。
 $user = [134773434, 'tom', '1232132', 123434434, 1];

       0           1      2          3      4

数据的说明性太差了!

16.PHP中数组分为两种类型:

(1)索引数组(Indexed Array):每个元素的下标是数字

$arr = ['tom', 'mary', 'king'];
$arr = [24, 35, 55, 28, 29];
索引数组适用于“类型相同的多个数据”

(2)关联数组(Association Array):每个元素的下标是字符串

$user = ['uid' =>1234, 'uname'=>'tom', 'regTime'=>1232341343,  'upwd'=>'123234'];

注意:关联数组每个元素的下标都是自定义的字符串!不能使用for循环进行遍历!

17.循环结构之四 —— foreach循环

语法:  foreach只用于遍历数组(尤其是关联数组)

foreach( $数组名  as  $元素变量名 ){
    //循环主体
}
foreach( $数组名  as  $下标变量名=>$元素变量名 ){
    //循环主体
}

含义:对于数组中的每个元素,都看做是一个指定的变量,对每个这样的变量执行一次指定的循环体
 示例:    $ageList = [20, 23, 21, 25];

    foreach( $ageList  as  $v){
        echo "$v
"; } ================== $user = ['uid'=>101, 'uname'=>'tom']; foreach( $user as $v){ echo "$v
"; }

18.PHP中的预定义数组 —— 难点!

预定义:由PHP解释器自己创建的,程序员不需要声明可以直接使用的。PHP预定义了如下的数组变量:
 $_GET
 $_POST
 $_COOKIE
 $_FILES
 $_REQUEST:保存着客户端提交给服务器的“请求”数据
 $_SESSION
上述变量默认都是 array(0){ }

Web项目中,客户端(浏览器)如何给服务器传数据:

http://127.0.0.1/login.php?uname=tom&upwd=123

PHP服务器会自动把?后面的数据存储到$_REQUEST数组中:

$_REQUEST['uname'] = 'tom';
$_REQUEST['upwd'] = '123';

程序员如何读取客户端提交的数据:

echo  $_REQUEST['uname'];     //tom
echo  $_REQUEST['upwd'];      //123

19.函数基础认识 —— 掌握

Function:功能体/函数,用于封装一段需要反复执行/不易编写的代码 —— 饺子机。
 声明一个函数:

function 函数名( ){
    //函数主体
}

执行/调用一个函数:

函数名( );

声明一个带参数的函数:

function 函数名(参数名1,  参数名2, ... ){
    //函数主体
}

执行/调用一个函数:

函数名( 值1, 值2, ... );

声明函数时指定的参数其实就是变量名——形式参数;调用函数时给出指定的具体的值——实际参数。

声明一个带返回值的函数:

function 函数名( [参数名1,  参数名2, ...] ){
    //函数主体
    return  函数运算的结果值; //应该是整个函数中最后一句
}

执行/调用一个有返回值函数:

$变量名 = 函数名( [值1, 值2, ...] );

使用一个变量接收函数的返回值。

20.PHP预定义函数 —— 访问MySQL数据库必需的函数 ——重点&难点

提示:历史上,PHP官方提供了两套访问MySQL服务器的函数:

mysql_xxxx( )   性能不够优秀
mysqli_xxxx( )    Improved:改进提升版

使用MySQLI函数库访问数据库服务器的步骤(与管理员从命令行中访问数据库的步骤一样):
 (1)连接到数据库服务器

$conn = mysqli_connect(...);

(2)提交SQL语句给服务器执行

$sql = "INSERT/DELETE/UPDATE/SELECT...";
$result = mysqli_query($conn,  $sql);

(3)查看执行结果

if($result===false){   //执行失败
}else{    //执行成功
}

(4)关闭到数据库服务器的连接(可以省略)

mysqli_close( $conn );

21.面试题:$i++和 ++$i 的异同。

$i++:先取值再自加
++$i:先自加再取值
$i = 10;
$j = $i++;      #先取出$i的值(10),赋值给$j;然后$i自加1
echo $i,  $j;      #11, 10
$i = 10;
$j = ++$i;     #先对$i自加1,变为11;再取其值赋给$j(11)
echo $i,  $j;     #11,  11

相关推荐:

关于2018年后端技术分析总结

浅谈2018年后端技术趋势

php学习之为什么说PHP适合做前端JAVA适合做后端?

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

25

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

6

2026.01.26

苹果官方查询网站 苹果手机正品激活查询入口
苹果官方查询网站 苹果手机正品激活查询入口

苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。

24

2026.01.26

npd人格什么意思 npd人格有什么特征
npd人格什么意思 npd人格有什么特征

NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。

3

2026.01.26

windows安全中心怎么关闭 windows安全中心怎么执行操作
windows安全中心怎么关闭 windows安全中心怎么执行操作

关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。

5

2026.01.26

2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】
2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】

铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。

31

2026.01.26

个人所得税税率表2026 个人所得税率最新税率表
个人所得税税率表2026 个人所得税率最新税率表

以工资薪金所得为例,应纳税额 = 应纳税所得额 × 税率 - 速算扣除数。应纳税所得额 = 月度收入 - 5000 元 - 专项扣除 - 专项附加扣除 - 依法确定的其他扣除。假设某员工月工资 10000 元,专项扣除 1000 元,专项附加扣除 2000 元,当月应纳税所得额为 10000 - 5000 - 1000 - 2000 = 2000 元,对应税率为 3%,速算扣除数为 0,则当月应纳税额为 2000×3% = 60 元。

11

2026.01.26

oppo云服务官网登录入口 oppo云服务登录手机版
oppo云服务官网登录入口 oppo云服务登录手机版

oppo云服务https://cloud.oppo.com/可以在云端安全存储您的照片、视频、联系人、便签等重要数据。当您的手机数据意外丢失或者需要更换手机时,可以随时将这些存储在云端的数据快速恢复到手机中。

32

2026.01.26

抖币充值官方网站 抖币性价比充值链接地址
抖币充值官方网站 抖币性价比充值链接地址

网页端充值步骤:打开浏览器,输入https://www.douyin.com,登录账号;点击右上角头像,选择“钱包”;进入“充值中心”,操作和APP端一致。注意:切勿通过第三方链接、二维码充值,谨防受骗

6

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号