PHP自学指南:编程小白也能轻松变身后端大佬。

还在为“学什么编程语言”发愁?别纠结了,PHP就是你的最佳选择!简单易学、功能强大,关键是学会了还特别实用,能帮你在生活中装点技术范儿。今天我这个PHP编程大师,就用幽默的方式,手把手教你如何自学PHP,从零基础到轻松上手,包你学完之后对自己刮目相看!

PHP,全名“Hypertext Preprocessor”,听起来高大上,但其实它是个“后端语言界的暖男”——简单、好学、上手快。它的主要作用是让网站“动起来”,比如登录注册、购物下单、发留言这些操作,背后就是PHP在默默搞事情。

为什么它适合小白?

  • 语法简单:PHP的代码像“人话”,看几眼就懂,写起来毫无压力。
  • 入门成本低:一台电脑、一杯咖啡,就能开始学。
  • 用处多多:全球80%的动态网站都用PHP,比如WordPress、微信小程序后端,甚至淘宝的某些功能。

一句话,PHP就像编程界的“入门小甜品”,好吃不贵,吃了还上瘾!

想学PHP,得先搭建一个“写代码的环境”。别怕,这比装个游戏还简单:

  • 安装PHP环境:推荐用 XAMPP 或 WAMP,一键安装PHP、MySQL(数据库)和Apache(服务器),像买套餐一样方便。
  • 选择编辑器:下载一个VS Code(免费、好用),写代码时它会帮你纠错,简直是“贴心小助手”。

搞定这些,你就可以开始写你的第一个PHP代码啦!

从最简单的语法开始,逐步深入:

  1. Hello, World!:写下你的第一个PHP程序,感受“代码通灵”的快乐:
  2. <?php echo \”Hello, World!\”; ?>
  3. 打开浏览器,看到“Hello, World!”的瞬间,你就是半个程序员了!
  4. 变量和数据类型:学会用 $ 定义变量,比如 $name = \”小白\”;,然后让它在网页上显示出来。
  5. 条件语句和循环:写出“如果今天是周末,就睡到中午”的逻辑代码。
  6. 数组和函数:学会存储数据和封装功能,比如写个函数 sayHello(),自动跟你打招呼。
  7. 表单处理:学会接收用户输入,比如登录页面的用户名和密码。

PHP和数据库是“天作之合”,学会操作MySQL,你就能让网站真正“活”起来:

  1. 安装MySQL:XAMPP/WAMP里自带,直接用。
  2. 学会SQL语句:比如创建表、插入数据、查询数据(这些就像“数据库的魔法咒语”)。
  3. 用PHP连接数据库:写代码实现“用户登录后显示他的名字”的功能,感受数据流动的魅力!

学编程最重要的是“动手实践”,试试这些简单又实用的小项目:

  • 留言板:用户输入留言,储存到数据库,再显示出来。
  • 登录系统:实现注册、登录、密码验证功能,自己做个“私人小网站”。
  • 简易博客:用户可以发布文章,浏览文章列表。
  • 投票系统:让朋友们投票选“谁请客吃饭”,结果实时显示。

这些项目不仅能帮你巩固知识,还能让你感受到“代码改变生活”的成就感!

  1. W3Schools:全球知名的编程学习网站,PHP教程通俗易懂。 https://www.w3schools.com/php/
  2. 菜鸟教程:中文教程,适合小白,学完能直接上手写代码。 https://www.runoob.com/php/php-tutorial.html
  3. PHP官方文档:权威资源,适合查语法和函数用法。 https://www.php.net/manual/zh/
  • B站:搜索“PHP入门教程”,跟着大佬们一边敲代码一边学,效率超高。
  • 慕课网:系统化的PHP课程,适合深入学习。
  • 《PHP和MySQL Web开发》:入门经典,内容全面。
  • 《Head First PHP & MySQL》:图文并茂,看起来一点都不枯燥。

学会PHP,你就可以:

  1. 开发个人网站:比如博客、作品展示网站,让朋友们对你刮目相看。
  2. 制作小型电商平台:实现商品展示、购物车、订单管理功能。
  3. 搭建留言板或论坛:和朋友互动,记录有趣的瞬间。
  4. 后台管理系统:比如公司内部的员工管理系统、数据统计平台。
  5. 参与开源项目:比如WordPress插件开发,成为技术社区的一员。

甚至,你还能用PHP帮朋友写个“表白墙”,让他们的爱情故事多一份技术浪漫!

  1. 多敲代码:编程是实践性的,光看不练等于白学。每天花点时间写代码,慢慢积累。
  2. 善用搜索引擎:Google 和百度是你的好朋友,遇到问题就去查,Stack Overflow 上有无数大佬帮你答疑解惑。
  3. 坚持做项目:从简单到复杂,做项目是最好的学习方式。
  4. 别急着放弃:一开始可能会有点懵,但别慌,解决问题的过程就是成长!

PHP是编程小白入门的不二之选,简单易学,功能强大。只要掌握基础语法、多做项目、坚持学习,你很快就能开发出自己的第一个网站,甚至成为一名专业的后端开发工程师!

还在等什么?赶紧打开电脑,开始你的PHP学习之旅吧!未来的程序员大佬就是你!✨

#PHP自学指南 #编程入门 #PHP学习路径 #从小白到大佬

「推荐」收藏过千,给新手的7个入门php实战项目

 对代码、编程感兴趣的可以关注「老K玩代码」公众号和我交流! 分享代码、经验、项目和资讯

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。 PHP原本的名字是Personal Home Page的缩写,此后更名为PHP: Hypertext Preprocessor。 PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

地址: https://www.shiyanlou.com/courses/190

学习人数: 1.8k

关注人数: 292

本项目一共分为两个实验。实验一是用C语言实现一个简单的web服务器。实验二增加了PHP程序的动态解析功能。 主要涉及的技术有:Linux socket编程、HTTP协议(get请求)、Fast-CGI协议等。该项目适用于有一定C语言基础的同学。它为我们解释了最基本的web服务器工作流。经过学习,可以熟悉了socket建立等操作流程。深入讲解接口协议,让同学了解web服务器如何解析动态语言。

地址: https://www.shiyanlou.com/courses/416

学习人数: 411

关注人数: 67

该项目项目分为两个实验进行操作性学习。第一个实验是向用户介绍了文件的基本概念和知识:文件、文件流、文件权限。以PHP实例说明了基本的打开、写入、删除操作,进行代码的编写。而第二个实验,是建立在前一个实验的基础上,实现了一个简单的文件上传功能模块,并介绍了PHP对上传文件的处理流程。

地址: https://www.shiyanlou.com/courses/656

学习人数: 992

关注人数: 83

本项目是使用ThinkPHP开发一个简单的后台权限管理系统,帮助同学了解权限的分配和管理,实现用户的权限管理操作。具有广泛应用的场景。

地址: https://www.shiyanlou.com/courses/987

学习人数: 2.0k

关注人数: 127

在本项目中,我们通过学习TCP原理、进程间通信、socket编程、多进程编程和IO重用来编写一个web服务器。本项目难度中等,适合有一定基础后进阶学习。

地址: https://www.shiyanlou.com/courses/632

学习人数: 388

关注人数: 37

本项目的主要内容是利用PHP内置的输出缓存机制,以PHP动态页面为基础,生成静态页面。在实际代码中学习和实践关于OB系列函数的相关知识,以及PHP连接MySQL数据库和数据库查询显示的知识点。

地址: https://www.shiyanlou.com/courses/1002

学习人数: 664

关注人数: 21

本项目使用php+Ajax在前端和服务器之间交换少量数据。Ajax可以使web页面异步更新,提高用户体验,实现表格的实时编辑。

地址: https://www.shiyanlou.com/courses/607

学习人数: 2.2k

关注人数: 117

本项目将使用PHP来实现一个基础的MVC框架,包括模型、视图、控制器和模板解析。通过本项目的学习,您可以初步了解MVC框架的基本原理和操作过程,学习面向对象编程和MVC设计模式,学习开发中的一些注意事项。这对其他框架学习有一定的帮助。

如果你也对编程感兴趣,记得加老K玩代码公众号和我交流哦! 里面有我最近整理的一些与\”php\”相关的学习资料,有需要的可以去看一下。关键词php,希望对大家有用。

PHP从基础到入门(一)

本文章为连载文章PHP入门的第一篇

建议先阅读前篇文章:

运算符

算术运算符

基础:

符号有:+ – * / %

说明:

1,他们都是针对数字进行的运算;

2,如果他们的两边有不是数字的数据,就会(自动)转换为数字

3,其中取余运算(取模运算)%,它只针对“整数”进行运算,如果不是,会自动截取为整数。

11. 3 % 3 相当于 11 % 3;

11.8 % 3. 8 相当于 11 % 3;

自增自减运算符:

常规:对数字进行自加1或自减1。

字符串: 只能自增,且自增的效果就是“下一个字符”,其只能针对字母或数字进行自加:

布尔值递增递减无效

null递减无效,递增结果为1

字符串自增的例子:

前自增和后自增的区别(自减类似)

通常,我们在循环中,推荐使用前加加,比如:

for($i = 1; $i < 10000; ++$i){ ……. }

演示前加加后加加进行1千万次的“效率比较”:

比较运算符

符号:> >= < <= == != === !==

一般比较:是针对数字进行的大小比较

==和===比较:前者通常叫做模糊相等的比较,后者叫做精确相等的比较(只有数据的类型和数据的值/内容,都相等,才是全等的)。必须能够找到手册的“类型比较表”:附录》php类型比较表:

不要对浮点数直接进行大小比较

常见不同类型(标量类型)数据之间的比较规律:

如果比较的数据中,有布尔值,转为布尔值比较,布尔值比较只有一个规则:true>false

否则,如果有数字值,就转为数字值比较:这就是常规比较。

否则,如果两边都是“纯数字字符串”,转为数字比较

否则,就按字符串比较。字符串比较的规则是:

对两边的字符串,一个一个从前往后取出字符并进行比较,谁“先大”,结果就是它大。

“abc” > true //? false

“abc” > false //true

“0” > false //false

3 > “12”; //false

3 > “12abc”; //false

“3” > “12” //false

“abc” > “c”; //false,后者大

“abc” > “ab123cde”; //true 因为这里”c”大于”1”

“3abc” > “12abc”; //true, 因为”3”大于“1”

1 > “a”; //? true

“1” > “a” //? false

逻辑运算符

逻辑运算符都是针对“布尔值”进行的运算。

如果不是布尔值,就会转换为布尔值进行;

布尔值只有2个:true,false

基本运算规则(真值表):

逻辑与规则:

true && true ==>> true

true && false ==>>false

false && true ==>>false

false && false ==>>false

总结:只有2个都是true,结果才是true

只要有一个是false,结果就是false

逻辑或规则:

true || true ==>> true

true || false ==>>true

false || true ==>>true

false || false ==>>false

总结:只有2个都是false,结果才是false

只要有一个是true,结果就是true

逻辑非规则:

!true ==>> false

!false ==>> true

逻辑运算符的“短路现象”:

逻辑与短路:

结果:如果一个语句中,通过与运算需要进行多项判断,而且不同的判断具有明显不同的“复杂程度”,则我们应该将简单的判断放在前面,这时候我们就可以利用短路现象以达到提高效率的目的。

逻辑或短路:

结果:如果一个语句中,通过或运算需要进行多项判断,而且不同的判断具有明显不同的“复杂程度”,则我们应该将简单的判断放在前面,这时候我们就可以利用短路现象以达到提高效率的目的。

字符串运算符

1,符号只有一个:. 也衍生出另一个: .=

2,含义:就是将这个符号两边的字符串连接起来;

3,如果两边不是字符串,就会自动转换为字符串,然后连接起来。

“ab” . 3 ==>> “ab3”;

“12” . 3 ==>>”123”

12 . 3 ==>> “123”

赋值运算符:

一个基本赋值运算符: =

形式: $变量名 = 值;

理解: 将右边的值(不管做了多少运算),赋值给左边的变量。

若干个衍生的赋值运算符:

+= 加等: 形式: $变量名 += 值;

理解: 相当于: $变量名 = $变量名 + 值;

-= 加等: 形式: $变量名 -= 值;

理解: 相当于: $变量名 = $变量名 – 值;

*= /= %= .= 其都可以认为是上述形式的一种简化版。

条件(三目,三元)运算符

只有一个,形式如下:

数据值1 ? 数据值2 : 数据值3

含义:

对数据值1进行判断,如果为“真”,则该运算符的运算结果就是数据值2,否则就是数据值3;

它是这样一个流程控制(逻辑判断)语句的简写形式:

if( 数据值1 ){

$变量名 = 数据值2;

else{

$变量名 = 数据值3;

注意:如果数据值1不是布尔值,也会转换为布尔值;

$score = 66; //分数

$valuation = $score >= 60 ? “及格” : “不及格”; //结果为“及格”

$score = 56; //分数

$valuation = $score >= 60 ? “及格” : “不及格”; //结果为“不及格”

$score = 56; //分数

$valuation = $score ? “及格” : “不及格”; //结果为“及格”,这里可能就偏离的本意!!

位运算符

基础规定

1,位是什么?就是2进制数字的每一个“位”,一个整数数字,有(由)32个位构成!

2,位运算符是仅仅针对整数进行的运算符;

3,位运算符有如下几个

&: 按位与;

|: 按位或;

~: 按位非;按位取反;

^: 按位异或;

4,位运算符的基本语法规则:

按位与基本规则:

1 & 1 ==>> 1

1 & 0 ==>> 0

0 & 1 ==>> 0

0 & 0 ==>> 0

按位或基本规则:

1 | 1 ==>> 1

1 | 0 ==>> 1

0 | 1 ==>> 1

0 | 0 ==>> 0

按位非基本规则:

~1 ==>> 0

~0 ==>> 1

按位异或基本规则:

1 ^ 1 ==>> 0

1 ^ 0 ==>> 1

0 ^ 1 ==>> 1

0 ^ 0 ==>> 0

可见,按位异或的规则是:相同为0,不同为1

整数的按位与运算(&)

形式:

$n1 & $n2; //n1,n2是2个任意整数;

含义:

将该2个整数的二进制数字形式(注意,都是32位)的每一个对应位上的数字进行基本按位与运算之后的结果!

注意:他们运算的结果,其实仍然是一个普通的数字(10进制)。

示例图示(只用8个位来演示):

$r1 = 10 & 20;

代码验证:

整数的按位或运算:

形式:

$n1 | $n2; //n1,n2是2个任意整数;

含义:

将该2个整数的二进制数字形式(注意,都是32位)的每一个对应位上的数字进行基本按位或运算之后的结果!

注意:他们运算的结果,其实仍然是一个普通的数字(10进制)。

示例图示(只用8个位来演示):

$r1 = 10 | 20;

则结果该数据值大小为: 1*24 + 1 * 23 + 1*22 + 1* 21 + 0 = 16 + 8 + 4 + 2 = 30

代码验证:

整数的按位左移运算

形式:

$n1 << $m

含义:

将十进制数字n1的二进制数字形式(也是32位的)的每一个位上的数字都一次性往左边移动m位,

并将右边空出来的位置补0,左边冒出去的不管,这样操作之后得到的结果。

示例图示(只用8个位来演示):

$r1 = 10 << 2;

可见,结果为:25 + 23 = 32 + 8 = 40

代码验证:

补充知识:原码,反码,补码

原码:

就是一个二进制数字,从“数学观念”上来表达出的形式。其中,我们规定:

一个数字的最左边一位是“符号位”,0表示正数,1表示负数;

比如:

反码:

正数的反码就是其本身(即不变);

负数的反码是:符号位不变,其他位取反;

比如:

补码:

正数的补码就是其本身(即不变);

负数的补码是:符号位不变,其他位取反后+1——即反码+1

一个小提示:计算机内部的运算,实际全都是使用补码进行的,而且运算的时候,符号位不再区分,直接也当做“数据”参与运算:

示例1:

5+3:

示例2: 5-3:

实际上,cpu内部,会将“减法”运算,转换为“加法运算”,即:5 + (-3)

位运算符的应用:管理一组事物的开关状态

什么是开关状态?

现实中,有很多数据都是只有2种结果(值)的,对应的其实就是我们的布尔类型的值。

这里,所谓管理一组事物的开关状态,应该理解为其实就是管理若干个只有2个状态的“数据符号”。

比如:有5个灯泡,对应5个状态数据。

这5个灯泡,就有 25 种状态呢?

这里的管理目标是:使用一个变量,就可以表达若干个数据的“当前状态”。具体有3个任务:

1,通过该变量,可以获知任何一个数据(灯泡)的当前状态。

2,通过该变量,可以将一个一个数据的状态“关闭”;

3,通过该变量,可以将一个一个数据的状态“开启”;

看代码!!!

数组运算符

有这些:

+: 数组联合,也可以理解为“数组串联”。

将右边的数组项合并到左边数组的后面,得到一个新数组。如有重复键,则结果以左边的为准

$arr1 = array(5=>10, 8=>20, 10=>30);

$arr2 = array(3=>33, 2=>22);

$r1 = $arr1 + $arr2; //结果为:array(5=>10, 8=>20, 10=>30, 3=>33, 2=>22)

另一个有重复键的例子:

$arr1 = array(5=>10, 8=>20, 10=>30);

$arr2 = array(8=>33, 2=>22);

$r1 = $arr1 + $arr2; //结果为:array(5=>10, 8=>20, 10=>30, 2=>22)

= =:如果两个数组具有相同的键名和键值(可以顺序不同,或类型不同),则返回true

$arr1 = array(3=>33, 2=>22);

$arr2 = array(2=>”22”, 3=>”33” );

此时,$arr1,和 $arr2是相等的( = = )

!=

= = =: 如果两个数组具有相同的键名和键值且顺序和类型都一样,则返回true

!= =

错误控制运算符@:

通常就用在一个地方:

$link = @mysql_connect(“数据库服务器地址”, “用户名”, “密码”);

作用是:

如果该连接数据的语句失败(比如连接不上),则屏蔽该失败的错误提示!

运算符的优先级

运算符,都有优先级问题!

记住以下几条就可以了:

要意识到运算符有优先级问题

括号最优先,赋值最落后(通常)

先乘除后加减

大致:单目运算符〉算术运算符〉比较运算符〉逻辑运算符(除了“非”运算)

能查到手册: 语言参考》运算符》运算符的优先级。

流程控制

流程图基本符号:

只是人们习惯上使用的一些图形符号,以代表一定的含义,帮组别人理解流程过程。

if分支结构

基本语法形式如下:

if (条件判断1){

分支1;

}

else if (条件判断2){

分支2;

}

else if (条件判断3){

分支3;

}

。。。。。。

else {

//else分支

}

说明:

1,其中,绿色的else if部分可以重复若干次,也可以完全省略!

2,其中,紫色的else部分可以完全省略。

3,该if语句会从前往后(从上往下)依次判断条件,如果某个条件满足了,就会执行其中对应的分支,然后就结束if分支结构语句!

4,如果前面所有条件都不满足,就会执行最后的else分支(前提是有else分支)。

图示如下:

switch分支结构

形式:

switch ( 表达式 ){

case 条件值1:

分支1;

【break;】 //是可以省略部分,不是语法所必须;

case 条件值2:

分支2;

【break;】 //是可以省略部分,不是语法所必须;

……..

default :

default 分支;

}

说明:

1,将表达式的结果数据,跟“条件值1”进行“相等判断”,如果相等,就执行分支1,否则继续对后续值进行判断。。。。

2,如果某个分支判断为相等,则执行该分支语句后,并且如果其中没有break语句,则会直接进入下一个分支继续执行,而不会再去判断下一个分支的条件值了,并直到碰到break语句才会跳出。

关系图如下所示:

举例如下:

for循环结构

查看相关素材及更多课程请搜索微信公众号“爱搞机个人版”,喜欢学习的建议关注下,所有课程免费! 点下关注不迷路!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。