zenith-docs 1.0.0 Help

PHP 的语法入门

这篇文档从环境讲起,然后快速入门 PHP 的语法。不会覆盖所有的语法,够用就好。

Playground

搭建 PHP 的开发环境有一些麻烦,最好的方式就是利用在线的 Playground 直接上手写代码。我推荐使用 PHPPlayground 这个网站,可以选择最新的版本 进行实验,如下图所示:

php playground

这一系列的教程基于目前最新的 PHP 8.2 版本来编写。

Hello World

首先我们来写一个 Hello World 的程序开启 PHP 之旅:

<?php echo 'Hello World' ?>

运行这个示例,会在屏幕上输出Hello World 。在实际的开发中,我们会将最后一行 ?> 省略。但是第一行<?php 不能省略,这是所有 PHP 代码的第一行。

第二行 echo 'Hello World';echo 表示这个单词的意思是“回响”,意思就是将 Hello World 这句话打印在终端。

变量和常量

上面的简单示例中,我们把数据“硬编码“到了代码语句中, echo 'Hello World'; 中的 Hello World 就是数据。在良好的程序设计中,我们需要将数据和编码分离,这样有利于数据的更新和复用。于是就有了变量和常量的概念,区别在于前者可变,后者不可变。

如果你觉得 Hello World 在代码中永远都不会发生变化,你就可以将它声明为常量,使用const 关键字:

const GREETING = 'Hello World'; echo GREETING;

当然,如果你预期 Hello World 这个数据可能会变为Hello PHP, 这时候就应该将它声明为变量,使用 $ 作为变量名的前缀:

$greeting = 'Hello World'; echo $greeting;

当我们将一个数据通过= 赋值给一个常量或者变量的时候,我们称这样的语句为“赋值语句”。

数据根据使用场景的不同,我们划分了一些基本类型, 这是符合我们的生活常识的,比如生活中我们也会区分小数和字符语句。

类型

描述

示例

string

字符串类型

Hello World

int

整型

-1、0、1、2、3...

floatdouble

浮点类型/双精度类型,暂时可以理解称小数

0.00, 1.29

bool

布尔类型

true 表示真,false 表示假

还有一些其他类型,我们遇到了再说。 bool 类型比较特殊,取值范围只有两个值,分别是 truefalse 。有些开发者也会写为大写,但一般都使用小写。

分支

在生活中处处有选择,代码是现实生活的映射。所以也处处有选择。

if...else...

在 PHP 中,使用 if...else..语句,和其他语言没有什么区别:

$name = 'boss'; if ($name === 'boss') { echo "Woking!"; // 这句将会执行 } else { echo "Play game!"; // 这句不会执行 }

也支持多分支的写法,如下:

$weather = 'sunny'; if ($weather === 'rainy') { echo 'At home'; } else if ($weather === 'sunny') { echo 'Go out!'; } else { echo "I don't known"; }

switch

有的场景下,分支比较多,使用 switch 语法可能会更加简洁。

$today = 'Sunday'; switch ($today) { case 'Monday': echo 'Go Shoping'; break; case 'Thuesday': echo 'Sleeping'; break; // 匹配后推出 switch case 'Wednesday': echo 'Learning'; break; default: echo 'Working'; }

match 表达式

这个是 PHP8 后出现语法, 可以简化 switch 或者 if...else.. 的编写:

$operater = '-'; $result = match ($operater) { '+' => 1 + 1, '-' => 1 - 1, '*' => 1 * 1, '/' => 1 / 1, }; echo $result;
Last modified: 04 August 2024