总字符数: 18.08K

代码: 8.98K, 文本: 4.97K

预计阅读时间: 1.01 小时

一、PHP 语法

php是什么

PHP(全称:Hypertext Preprocessor)是一种开源的脚本语言,通常用于服务器端编程和网页开发.PHP代码在服务器上执行,并且生成动态的网页内容.

以下是 PHP 的一些特点:

  1. 易于学习和使用:PHP 的语法简单易懂,学习门槛相对较低,适合初学者入门.
  2. 跨平台性:PHP 可以在多个操作系统上运行,包括 Windows、Linux、Mac 等.
  3. 与 HTML 集成:PHP 可以嵌入到 HTML 代码中,方便动态生成网页内容.
  4. 广泛应用:PHP 是一种非常流行的服务器端脚本语言,广泛用于开发动态网站、Web 应用程序和网站后端逻辑.
  5. 强大的功能:PHP 提供了许多内置函数和库,使开发者能够轻松处理字符串、数据库连接、文件处理、图像处理等各种任务.
  6. 它是开源的:PHP 被许多开发者积极参与开发和维护,有庞大的社区支持,可以获取到丰富的资源和扩展.

PHP 在互联网领域有着广泛的应用,许多知名的网站和应用程序都使用 PHP 构建,如Facebook、Wikipedia、WordPress等.

总之,PHP 是一种功能强大且广泛使用的服务器端脚本语言,适合用于开发各种类型的动态网页和Web应用程序.

PHP 代码的起始和结束标记

PHP 脚本可放置于文档中的任何位置,以<?php开头,以?>结尾,整个粗体部分以php语言进行解析:

1
2
3
<?php
PHP 代码
?>

PHP 文件的默认文件扩展名是 .php(文件后缀),PHP文件通常包含 HTML 标签以及一些 PHP 脚本代码,通常的是PHP代码穿插到html文档里.

如下是PHP和HTML结合使用,利用内建PHP函数echo在页面上输出Hello PHP !!!!创建的2.php文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>php-study</title>
</head>
<body>
<h1>欢迎学习php !!!</h1>

<?php
echo "Hello PHP !!!!";
?>
</body>
</html>
在日常编写PHP文件时要注意PHP 语句以分号结尾 ; 时刻注意中英文分号问题.

PHP中注释

PHP 代码中的注释不会被解析执行,只能来读取和执行.大部分用于程序开发的时候,编辑者对代码的简要标记.

PHP有三种注释:

1
2
3
1. #                       单行注释
2. // 单行注释
3. /* 注释内容*/ 多行注释

如下三种注释:

1
2
3
4
5
// echo "php 66666"
# echo "hello everything!!!"
/*
echo "php 666888"
*/
  1. 单引号不能解析变量,双引号可以解析变量
  2. 双引号执行转译字符,单引号不转译\n \r \t
  3. 它执行转译\和’(输出一个)
  4. 能使用单引号就不使用双引号,为什么?因为单引号效率要比双引号快
  5. 如果是字符串和变量一起的时候用.来链接
  6. 双引号里面插入单引号,单引号里面插入变量,变量会解析
  7. 如果双引号里面插入变量的时候请在后面加上空格或者,号,不然计算机会认为你是一体的或者用大括号包起来当变量和字符串想在一起的时候用"点"来拼接
  8. 引号方式:比较适合定义那些比较短(不超过一行)或者没有结构要求的字符串
  9. 如果有结构要求,或者内容超过一行,可以使用以下两种结构定义
    1. nowdoc字符串:没有单引号的单引号字符串
    2. heredoc字符串:没有双引号的双引号字符串

结构化定义字符串变量的规则:

  1. 结构化定义字符串对应的边界符有条件

  2. 上边界符后面不能跟任何内容

  3. 下边界符必须顶格,最左边

  4. 下边界符同样后面只能跟分号;不能跟任何内容

  5. 结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身

PHP 大小写敏感

在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,使用ECHO ,echo,EcHo都可以进行输出.

1
2
3
4
<?php
ECHO "Hello php !!!!<br>";
echo "Hello php !!!!<br>";
EcHo "Hello php !!!!<br>";

所有变量都对大小写敏感,而当一个变量$a=2被赋值后,echo $A,echo $a

1
2
3
4
5
<?php
$a=2;
echo $A; //没有显示
echo "<br>";
echo $a;

二、PHP 变量

在PHP中,变量是存储信息的容器.
判断一个变量是否存在isset($x);
销毁变量unset($x);

1
2
3
4
5
$a = 10;
var_dump(isset($a));
unset($a);
echo "</br>";
var_dump(isset($a));

PHP 变量规则

  1. PHP中变量必须以$符号开头,其后是变量的名称
  2. 变量名称必须以字母或下划线开头,不能以数字开头
  3. 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  4. 变量名称对大小写敏感($y$Y 是两个不同的变量)

创建变量

PHP 没有创建变量的命令.

变量会在首次为其赋值时被创建:

1
2
3
4
5
6
7
8
9
<?php
$test="Hello 网络安全 !!!!!";
$x=666;
$y=888;
echo $test;
echo "<br>";
echo $x;
echo "<br>";
echo $y;

PHP作为一门类型松散的语言,我们在创建变量的时候,不必告知PHP变量的数据类型,由于PHP会根据它的值,自动把变量转换为正确的数据类型,而其他编程语言,如C和C++以及Java等语言,在使用变量之前,需要声明变量的名称和类型.

PHP 变量作用域

就是一个变量的作用范围,或者叫做生命周期

  1. 内部变量:Local

    • 就是函数体内声明的变量,内部变量的作用域只在函数体内生效,程序执行完事以后自动销毁(垃圾回收机制)
  2. 外部变量:Global

    • 外部变量就是在函数体外声明的变量,不能在函数体内使用,函数体外的变量名字可以与函数体内的变量名字一样
  3. 超全局变量

    • 外部变量和内部变量是同一个变量
      • $_GET
      • $_POST
      • $_FILE
      • $_COOKIE
      • $_SESSION
      • $GLOBALS
  4. 静态变量

    • static静态变量关键字

    • 在函数内部定义的变量,用来实现跨函数共享数据的变量

    • 这个变量只会初始化一次在运行的时候他会记录上一次的值static变量不会销毁

      1
      2
      3
      4
      function 函数名(){
      //定义变量
      static $变量名 = 值; //通常会在定义的时候就直接赋值
      }

Local 和 Global 作用域

下面的例子测试了带有局部和全局作用域的变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$x=5; // 全局作用域

function test() {
$y=10; // 局部作用域
echo "<p>测试函数内部的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
}

test();

echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";

global 关键字

global 关键字用于函数内访问全局变量.

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字

1
2
3
4
5
6
7
8
9
<?php
$x = 5;
// 定义函数
function test(){
global $x;
$a = 10;
echo $x+$a;
}
test(); // 调用函数

static 关键词

当函数完成执行后,会删除所有变量.若有时我们不想要删除某个局部变量.则需要在首次声明变量时使用 static 关键词:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
function test() {
static $x=0;
echo $x;
$x++;
}
test();
echo "<br>";
test();
echo "<br>";
test();
echo "<br>";
echo "以下是没有设置静态变量的";
echo "<br>";

function test1() {
$x=0;
echo $x;
$x++;
}
test1();
echo "<br>";
test1();
echo "<br>";
test1();

三、echo 、print以及var_dump 语句

  • echo:

    • 用法:echo expression;

    • echo 是一个语言结构而不是函数,因此可以省略括号.它可以输出一个或多个字符串.

    • echo 没有返回值,只用于输出内容到浏览器或命令行.

    • echo 输出的内容可以包含任何有效的表达式,包括字符串、变量和表达式的组合.

    • echoecho()是一样的

    • 示例:

      1
      2
      3
      4
      5
      6
      <?php
      $name = "Alice";
      echo "Hello, " . $name . "!"; // 输出:Hello, Alice!
      echo "</br>";
      echo($name);
      echo "</br>";
  • print:

    • 用法:print expression;

    • print 是一个函数,必须使用括号将表达式括起来.

    • print 的功能与 echo 类似,可以输出一个字符串.

    • print 的返回值为 1,可以用于某些特定的需求.

    • 示例:

      1
      2
      3
      4
      <?php
      $name = "Bob";
      print("Welcome, " . $name); // 输出:Welcome, Bob
      print $name;
  • var_dump:

    • 用法:var_dump(expression);

    • var_dump 是一个函数,用于获取并输出变量的详细信息.

    • var_dump 输出变量的类型、值以及长度(针对字符串)等详细信息.

    • var_dump 在调试过程中非常有用,可以帮助开发者了解变量的结构和内容.

    • 示例:

      1
      2
      3
      4
      5
      6
      7
      <?php
      $name = "Charlie";
      $age = 25;
      var_dump($name, $age);
      // 输出:
      // string(7) "Charlie"
      // int(25)

总结:

  • echoprint 常用于输出字符串和变量,可以输出多个值,echo 是语言结构而 print 是函数.

  • var_dump 则用于获取并输出变量的详细信息,更适合用于调试过程.

四、PHP 数据类型

PHP一种支持八种原始数据类型

四种标量类型,即integer(整型)、float/double(浮点型)、string(字符串型)和boolean(布尔型)

boolean(布尔型) 有两个值,真(true)和假(false)
string(字符串型) 计算机所能表示的一切字符的集合
integer(整型) 只能是整数,包括正数和负数
float(浮点型) 和整数不同,包含小数位

两种复合类型,即array(数组)、object(对象)

object(对象) 类的实例,使用new来创建
array(数组) 一组类型相同的变量集合

两种特殊类型,即resource(资源)、NULL(空)

resource(资源) 特殊的变量,保存了到外部资源的一个引用,通过专门的函数来建立和使用
null(空值) 表示变量没有值,唯一的值是NULL

1. 字符串(string)

字符串是字符序列,可以是以引号内的任何文本,单双引号的使用有区别:

  1. 单引号:单引号里出现的变量会原样输出,PHP引擎不会对它进行解析,因此单引号定义字符串效率最高.

  2. 双引号:双引号所包含的变量会自动被替换成变量值.

  3. 反引号”``”:通常用于执行操作系统命令或外部程序,并获取其输出.

如下例子:

1
2
3
4
5
6
7
8
9
10
<?php
$a = 10; // 定义一个变量
$y = 'Hello world!$a'; // 单引号不会解析变量
echo $y;
echo "<br>";
$x = "Hello PHP!$a"; // 双引号可以解析变量
echo $x;
echo "<br>";
$z = `dir`;
echo $z;

2. 整型(integer)

整型数据只能包含整数.

整型数据的特征:

  1. 必须至少有一个数字(0-9)
  2. 不能包含逗号或者空格
  3. 没有小数点
  4. 可以是正数也可以是负数

整形数据可以用三种常见格式来指定:

  1. 十进制
  2. 十六进制(0x为前缀)
  3. 八进制(0为前缀)
测试不同的数字
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
$x = 4399;
var_dump($x);
echo "<br>";
$x = -520; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
php7特性含有十六进制字符的字符串不再被视为数字,而是被当作普通的字符串
1
2
3
4
5
<?php
$number = "0xFF";
$result = $number * 2;
echo $result; // 输出:0
# 在 PHP 7.3 中,"0xFF" 被视为普通字符串,而不是数值.因此,将其乘以 2 的操作实际上是对字符串进行了重复连接,结果为 "0xFF0xFF",最后被转换为数值时为 0
1
2
3
4
5
<?php
// 以下是php5.6
$number = "0xC98D3";
$result = $number * 2;
echo $result; // 输出:1651110

3. 浮点型(float/double)

浮点数是有小数点或指数形式的数字.

如下例子,测试不同数字:

1
2
3
4
5
6
7
8
9
<?php 
$x = 8.4264;
var_dump($x);
echo "<br>";
$x = 1.1e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);

4. 布尔型(boolean)

布尔值概念:

  1. 只保存两个值:true值和false值;
  2. 值不区分大小写,即true=TRUE,false=FALSE;
  3. 设定一个布尔型的变量,只需将true值或者false值直接赋值给变量;
1
2
3
4
5
6
7
8
9
10
<?php
$a=true; // true ==1
$b=false; // false == 0
var_dump(true);
echo "</br>";
var_dump(false);
echo "</br>";
echo 880+true;
echo "</br>";
echo 880+false;

5. 数组(array)

数组(Array)

  1. 数组是一系列相关数据的集合,以某种特定的方式进行排列,形成一个整体
  2. 可以是相同的数据类型,也可以是不同的数据类型
  3. 在PHP里数组的索引可以是数字,也可以是字符串
数组例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
// id 数组
$array_PHP = array("good", "study", "everything"); // 写法1
var_dump($array_PHP);
echo "</br>";
$array_Name = array(); // 写法2
$array_Name[0]="张三";
$array_Name[1]="李四";
$array_Name[2]="王五";
var_dump($array_Name);
echo "</br>";
// 关联数组
$array_Key = array("姓名"=>"钟馗","成绩"=>100,"班级"=>"2班"); // 写法1
var_dump($array_Key);
echo "</br>";
$array_Key = array(); // 写法2
$array_Key1["姓名"] = "钟馗";
$array_Key1["成绩"] = 100;
$array_Key1["班级"] = "2班";
var_dump($array_Key1);
echo "</br>";

6. 对象(object)

object(对象),面向对象编程在PHP中非常重要,

特点:封装,多态,继承.

对象是存储数据和有关如何处理数据的信息的数据类型.

在 PHP 中,必须明确地声明对象.

首先我们必须声明对象的类,对此,我们使用 class 关键词,类是包含属性和方法的结构.

1
2
3
4
5
6
7
8
9
10
<?php
class This_Test{
public function test(){
echo "这是This_Test类里面的test方法";
}
}

$a = new This_Test(); // 创建一个This_Test类的实例
$a->test(); // 调用实例的test方法,将输出一条消息

7. NULL 值

PHP中一种特殊的数据类型,表示空值,即表示没有为该变量设置任何值null(空值)不区分大小写,nullNULL是一样的.
被赋空值可能有三种情况:没有赋什么值、被赋空值null、被unset()函数处理过的变量.

1
2
3
4
<?php
$this_Null = "Hello PHP";
$this_Null = null;
var_dump($this_Null);

8. 资源(Resource)

  1. 资源是一种特殊的变量类型,它保存着对外部数据源的引用,如文件、数据库连接等,直到通信结束.
  2. 数据库持久连接是一种比较特殊的资源,它不会被垃圾回收系统释放,需要手动释放.

五、PHP 常量

PHP常量是一个简单值的标识符,该值在脚本中不能改变;常量值被定义后,在脚本的其他任何地方都不能被改变.一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现. (常量名不需要加$修饰符).

常量在整个脚本中都可以使用.

设置 PHP 常量

设置常量,使用 define() 函数

语法
1
2
3
4
5
6
7
8
9
10
11
define (string $name , mixed $value [, bool $case_insensitive = false ] ) : bool
在运行时定义一个常量.

$name:常量名

$value 常量的值;在 PHP 5 中,value 必须是标量( integerfloatstringbooleanNULL)在 PHP 7 中还允许是个 array 的值.
$case_insensitive 如果设置为 TRUE,该常量则大小写不敏感.默认是大小写敏感的.比如, CONSTANT 和 Constant 代表了不同的值.
Note:
大小写不敏感的常量以小写的方式储存.

返回值:成功时返回 TRUE, 或者在失败时返回 FALSE.

以下例子我们创建一个区分大小写的常量, 常量值为 欢迎来到我的世界

1
2
3
4
5
6
7
8
<?php
// 区分大小写的常量名
define("WELCOME", "欢迎来到我的世界");
echo WELCOME; // 输出 "欢迎来到我的世界"
echo '<br>';
echo welcome; // 输出 "welcome"
echo defined(WELCOME); # 判断常量是否被定义
// const 变量名=值
结果:报错是未定义常量

以下例子我们创建一个不区分大小写的常量, 常量值为 欢迎来到我的世界

1
2
3
4
5
6
7
<?php
define("WELCOME", "欢迎来到我的世界",true);
echo WELCOME; // 输出 "欢迎来到我的世界"
echo '<br>';
echo welcome; // 输出 "welcome"
echo defined(WELCOME); # 判断常量是否被定义
// const 变量名=值

另一种定义常量的方法:

1
2
3
<?php
const WELCOME="欢迎来到我的世界";
echo WELCOME;

常量是全局的

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用.

如下是在函数外定义常量,在函数内使用常量

1
2
3
4
5
6
7
<?php 
define("WELCOME", "欢迎来到我的世界");

function test() {
echo WELCOME;
}
test(); // 欢迎来到我的世界

注意事项

  1. 不能重复定义
  2. 常量的名字一般使用大写字母
  3. 常量的值只能是标量
  4. 常量的作用域是全局的
  5. 输出的时候没有$符号
  6. 常量不能写到字符串中

系统常量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
echo "</br>";
echo __FILE__; #当前文档名以及所在路径
echo "</br>";
echo __LINE__; #代码所在行
echo "</br>";
echo __DIR__; #当前文件所在路径
echo "</br>";
echo PHP_OS; #获取系统信息
echo "</br>";
echo PHP_VERSION; #获取版本信息
echo "</br>";
function test(){
echo __FUNCTION__; #获取当前函数名
}
test();
echo "</br>";
echo M_PI; #圆周率g'm

六、PHP 字符串

PHP中的字符串是一种常见的数据类型,用于表示和操作文本数据.字符串可以包含字母、数字、符号以及其他特殊字符.您可以使用引号(单引号或双引号)来创建字符串.

1
2
3
<?php
$test="Hello PHP!";
echo $test;
当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号.

字符串常用函数和运算符

连接运算符(并置运算符)

使用并置运算符.可以将两个字符串连接在一起

1
2
3
4
<?php 
$test1 = "Hello php"; // 定义字符串变量 $test1,赋值为 "Hello php"
$test2 = "study hard !"; // 定义字符串变量 $test2,赋值为 "study hard !"
echo $test1 . "</br>" . $test2; // 使用并置运算符连接两个字符串,并输出结果.注意:"</br>" 是用于在 HTML 中换行显示的标签.

字符串常用函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
// 字符串长度
$test1 = "Hello php";
// 使用strlen()函数可以获取字符串的长度,即包含的字符数
echo strlen($test1);
// 字符串查找
/*
* 参数说明:
$haystack:要搜索的字符串.
$needle:要查找的子字符串.
$offset(可选):指定从哪个位置开始查找,默认为 0.
* 返回值:
如果找到子字符串,则返回第一次出现的位置(位置从 0 开始).
如果未找到子字符串,则返回 false.*/
echo "</br>";
echo strpos($test1,"p");

// 字符串索引
// 字符串中的每个字符都可以通过索引访问.注意,PHP中的字符串索引是从0开始的
echo "</br>";
echo $test1[0]; // 获取第一个字符,输出:H

// 字符串截取
// 使用substr()函数可以从字符串中提取一个子字符串
/*
参数说明:
$string:要提取子串的源字符串.
$start:指定开始提取的位置.如果为负数,则从字符串末尾开始计数.
$length(可选):指定要提取的子串长度.如果未指定,则提取从 $start 位置到字符串结束的所有字符.
返回值:
如果提取成功,则返回提取的子串.
如果提取失败,则返回 false.
* */
echo "</br>";
echo substr($test1,0,5);


// 字符串替换
// 使用str_replace()函数可以将字符串中的指定内容替换为新的内容
/*
参数说明:
$search:要替换的子字符串,可以是一个字符串或一个字符串数组.
$replace:替换子字符串的新字符串,可以是一个字符串或一个字符串数组.如果 $replace 是一个数组,那么它的元素将与 $search 的对应元素一一替换.
$subject:源字符串,即要进行替换操作的字符串.
$count(可选):传递一个变量作为引用,在函数执行后保存实际进行的替换次数.
返回值:
返回替换后的字符串,如果 $subject 参数是一个数组,则返回一个替换后的数组.
* */
echo "</br>";
echo str_replace($test1, "php", "wonima");

七、PHP 条件语句

在日常程序编程时,我们需要不同的判断执行不同的动作,此时我们就可以用到条件语句来实现.

在 PHP 中,提供了下列条件语句:

  • if 语句 - 在条件成立时执行代码
  • if…else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if…elseif…else 语句 - 在若干条件之一成立时执行一个代码块
  • switch 语句 - 在若干条件之一成立时执行一个代码块

时间复杂度

这两种语句的时间复杂度主要受到条件的数量和嵌套程度的影响.

通常情况下,它们的时间复杂度都是O(1),因为它们的执行时间不随输入数据的增加而增加.

在实际使用中,更重要的是选择合适的条件语句以保持代码的可读性和可维护性.

运算符

运算符

  1. 算术运算法

    1. + - * / %(求模又称取余数)
  2. 自增自减运算符

    1. ++ --
  3. 比较运算符

    1. < >= <= == === != !==

    2. == 只判断值而不比较数据的类型

    3. === 比较值和类型

  4. 逻辑运算符

    1. && 逻辑与 并且有一个为假就是假多个为假的还是假只有同时为真的时候才是真
    2. || 逻辑或 或者只要有一个为真就是真多个同时为假才是假的
    3. ! 取反 就是假变成真的真的变成假的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
// 10.1 算术运算符
$a = 10;
$b = 5;
// 加法
echo $a + $b; // 结果为 15
echo "</br>";
// 减法
echo $a - $b; // 结果为 5
echo "</br>";
// 乘法
echo $a * $b; // 结果为 50
echo "</br>";
// 除法
echo $a / $b; // 结果为 2
echo "</br>";
// 求模
echo $a % $b; // 结果为 0
echo "</br>";
// 10.2 自增自减运算符:
// 自增
echo $a++; // $a 的值变为 11
echo "</br>";
// 自减
echo $a--; // $a 的值变为 10
echo "</br>";

// 10.3 比较运算符:
$a = 5;
$b = 10;
// 小于
var_dump($a < $b); // 结果为 true
echo "</br>";
// 大于等于
var_dump($a >= $b); // 结果为 false
echo "</br>";
// 等于
var_dump($a == $b); // 结果为 false
echo "</br>";
// 不等于
var_dump($a != $b); // 结果为 true
echo "</br>";

# 10.4 比较运算符(进一步说明==和===):

$b = "5";
// == 只判断值而不比较数据类型
var_dump($a == $b); // 结果为 true
echo "</br>";
// === 比较值和数据类型
var_dump($a === $b); // 结果为 false
echo "</br>";

// 10.5 逻辑运算符
$a = true;
$b = false;
// 逻辑与
var_dump($a && $b); // 结果为 false
echo "</br>";
// 逻辑或
var_dump($a || $b); // 结果为 true
echo "</br>";
// 取反
var_dump(!$a); // 结果为 false
echo "</br>";

为false几种情况

  1. 整型的0在进行判断的时候为假,整型的1在判断的时候为真
  2. 如果浮点的0.0000000都是假的只要后面有一个是非零的数字即为真
  3. 空字符串为假如果中间有一个字符都是真那怕是一个空格
  4. 空字符串的0即为假其他皆为真
  5. 空数组为假
  6. null作为判断条件的时候是假的

if 语句

if 语句用于仅当指定条件成立时执行代码.

1
2
3
4
5
# 语法:
if (条件)
{
条件成立时要执行的代码;
}

如下例子,当分数grade大于等于60时,输出”及格”:

1
2
3
4
5
6
<?php
$grade=61;
if ($grade>=60)
{
echo "及格";
}

if…else 语句

在条件成立时执行一块代码,条件不成立时执行另一块代码

语法:

1
2
3
4
5
6
7
if (*条件*)
{
*条件成立时执行的代码;*
}else
{
*条件不成立时执行的代码;
}

如下例子,当分数大于等于60,输出”及格”,否则输出”不及格”:

1
2
3
4
5
6
7
8
9
<?php
$grade=51;
if ($grade>=60)
{
echo "及格";
}
else{
echo "不及格";
}

if…elseif…else 语句

在若干条件之一成立时执行一个代码块

请使用 if…elseif…else 语句..

语法:

1
2
3
4
5
6
7
8
9
10
11
12
if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}

如下例子,当分数大于等于80,输出”优秀”,大于等于60输出”及格”,小于60输出”不及格”:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$grade=51;
if ($grade>=80)
{
echo "优秀";
}
elseif($grade>=60)
{
echo "及格";
}
else{
echo "不及格";
}

Switch 语句

当你需要根据不同的条件执行不同的代码块时,PHP中的switch语句是一个非常有用的工具.它提供了一种在多个选项之间进行选择的结构,可以减少大量的if-else嵌套.

switch语句由一个表达式和一系列case分支组成.表达式的值将与每个case分支的值进行比较,找到匹配的分支后,执行相应的代码块.如果没有任何匹配的分支,还可以选择执行一个可选的default分支.

1
2
3
4
5
6
7
8
9
10
11
switch (expression) {
case value1:
// 代码块1
break;
case value2:
// 代码块2
break;
// 可以有更多的 case 分支
default:
// 默认代码块
}

Switch 语句判断成绩例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$num=51;
switch ($num)
{
case $num>=90 && $num<=100:
echo "你的成绩等级为A";
break;
case $num>=80 && $num<90:
echo "你的成绩等级为B";
break;
case $num>=60 && $num<80:
echo "你的成绩等级为C";
break;
case $num>=0 && $num<60:
echo "你的成绩等级为D";
break;
default:
echo "你输入的成绩有误,请重新输入.";
break;
}
?>