No.7 PHP基础

零、phpstorm的配置:

当我们下载好phpstorm后,需要更改一些配置才能正常访问网页:

1、点击File--setting--PHP后,点击下图的三个点(这边需要留意的是PHP language level的版本,图上是5.6)

2、点击加号--选择-Local Path to Interpreter...--设置PHP executable的文件路径:

3、选择我们phpstudy的安装目录,往下找到PHP Tutorial,选择任意一个比PHP language level的版本一样或高的版本,选择php.exe;

E:\php\php-5.6.27-nts\php.exe

4、完成配置

一、PHP 简介

1、PHP是什么
  • PHP(Hypertext Preprocessor,即 “超文本预处理器”)是一种功能强大的嵌入式通用开源脚本语言。它在互联网领域发挥着至关重要的作用,为网站开发和动态网页生成提供了高效且便捷的解决方案。

  • PHP 凭借其简单易学、易用、跨平台、开源等显著特点,迅速成为主流的网站开发语言之一。其应用范围广泛,涵盖了电商、社交、新闻、博客等各个行业的网站。无论是小型个人网站还是大型企业级应用,都能看到 PHP 的身影。

  • PHP 脚本在服务器端执行,这意味着当用户在浏览器中请求页面时,服务器会先处理 PHP 脚本生成相应的 HTML 内容,然后将最终的 HTML 页面返回给浏览器显示。

2、PHP文件是什么
  • PHP 文件是一种综合性的文档,它通常由文本、HTML 标记、JavaScript 代码以及 PHP 代码等多种元素组成。这些不同类型的代码相互协作,共同实现网页的功能和呈现效果。

  • PHP 代码在服务器端执行,其执行结果以纯 HTML 格式返回给浏览器。这使得网页能够根据不同的条件和用户输入动态生成内容,提供更加个性化和交互性的用户体验。

  • PHP 文件的默认扩展名是.php,这一扩展名向服务器和开发工具表明该文件包含 PHP 代码,需要进行相应的处理和解释。

3、PHP的作用
  • PHP 可以生成动态页面内容:
    PHP 具有强大的动态页面生成能力,能够根据用户的操作、数据库中的数据以及各种条件实时生成个性化的页面内容。例如,根据用户的登录状态显示不同的信息,或者根据用户的搜索关键词提供相关的结果。

  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件:
    PHP 可以对服务器上的文件进行全面的操作,包括创建新文件、打开现有文件、读取文件内容、向文件写入数据以及关闭文件。这使得网站能够实现文件上传、下载、日志记录等功能。

  • PHP 可以收集表单数据:
    PHP 能够方便地收集用户通过表单提交的数据,如注册信息、留言内容、订单详情等。通过对这些数据的处理,网站可以实现与用户的交互和信息收集。

  • PHP 可以发送和接收 cookies:
    PHP 支持发送和接收 cookies,用于在用户的浏览器中存储和获取数据。Cookies 可以用于记住用户的登录状态、偏好设置、购物车信息等,提升用户在网站上的体验。

  • PHP 可以添加、删除、修改您的数据库中的数据:
    PHP 可以与各种数据库系统进行交互,实现对数据库中数据的添加、删除、修改和查询操作。这使得网站能够存储和管理大量的信息,如用户数据、文章内容、商品信息等。

  • PHP 可以限制用户访问您的网站上的一些页面:
    PHP 可以通过设置访问权限和条件判断,限制用户对网站某些页面或功能的访问。例如,只有注册并登录的用户才能访问特定的会员页面,或者只有管理员才能执行某些敏感操作。

  • PHP 可以加密数据:
    PHP 提供了加密相关的函数和方法,可以对数据进行加密处理,确保数据在传输和存储过程中的安全性和保密性,保护用户的隐私和网站的重要信息。

        通过 PHP 的强大功能,我们不再局限于输出简单的 HTML 页面。它还能够输出各种多媒体文件,如图像、PDF 文件,甚至是复杂的 Flash 电影。不仅如此,我们还可以生成各种特定格式的文本,比如 XHTML 和 XML,以满足不同的需求和应用场景。

4、使用 PHP的原因
  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等):
    PHP 具有出色的跨平台性,能够在多种操作系统上稳定运行,包括 Windows、Linux、Unix、Mac OS X 等。这使得开发人员可以在自己熟悉的操作系统上进行开发,然后将应用轻松部署到不同的服务器环境中,减少了因平台差异带来的兼容性问题。

  • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等):
    PHP 与目前几乎所有正在被广泛使用的服务器软件相兼容,如 Apache、IIS 等。这种广泛的兼容性使得在不同的服务器配置下部署 PHP 应用变得非常简单,降低了服务器配置和部署的复杂性和成本。

  • PHP 提供了广泛的数据库支持:
    PHP 提供了对众多主流数据库系统的支持,如 MySQL、Oracle、SQL Server 等。通过丰富的数据库扩展和函数库,开发人员可以方便地与数据库进行交互,执行各种复杂的数据库操作,满足不同规模和需求的应用场景。

  • PHP 易于学习,并可高效地运行在服务器端:
    PHP 的语法相对简单易懂,学习曲线较为平缓,对于初学者来说容易入门。同时,PHP 在服务器端的运行效率较高,能够快速处理大量的并发请求,保证网站的性能和响应速度。

二、PHP基本语法

1、PHP的基本语法

PHP 脚本在文档中的位置非常灵活,可以嵌入在 HTML 代码的任何位置。
PHP 的基本语法结构如下:

<?php
// PHP 代码
?>
  • PHP 文件的默认文件扩展名是 .php;
  • 在一个 PHP 文件中,通常会包含 HTML 标签和 PHP 脚本代码。两者相互配合,共同构建出完整的网页功能和显示效果。
  • 例:下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 "Hello World!":
<!DOCTYPE html>
<meta charset="utf-8"/>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo "Hello World!";
?>
</body>
</html>

注意事项:

1、PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于清晰地区分不同的指令集,确保 PHP 解释器能够正确理解和执行代码。
2、通过 PHP 向浏览器输出文本有两种基础指令:echo 和 print。然而,由于 print 指令在某些情况下可能存在性能和使用便利性方面的不足,因此在实际开发中,通常更推荐使用 echo 指令。

2、PHP 中的注释
  • 程序的注释是解释性语句,注释中的所有字符会被 PHP 解释器忽略。所有的编程语言都允许某种形式的注释。

  • 因此,注释就是为了增强源代码的可读性;而在PHP中,就 支持 单行注释多行注释

1) 多行注释:

        多行注释以 /* 开始,以 */ 结束。需要注意的是,多行注释不能嵌套使用,以避免可能的混淆和错误。

2) 单行注释:

        单行注释以 // 开始,从 // 之后到本行结束的所有文字都被视为注释内容。

<?php
// 这是 PHP 单行注释 //这个就是嵌套 //再来一个嵌套
​
/*
这是PHP 多行注释
*/
?>
 

三、PHP变量和数据类型

1、PHP变量:
  • 变量在编程中就像是用于存储信息的 “容器”,可以根据需要随时更改其中存储的值。

<?php
$x=5;$y=6;$z=$x+$y;
echo $z;
?>
  • 这种方式与代数中的概念类似。

x=5;y=6;z=x+y;
在代数中,我们使用字母,并给它赋值;
从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。在 PHP 中,这些字母被称为变量。

2、PHP 变量规则:

变量的命名在 PHP 中有着明确的规范:

  • 首先,变量必须以 $ 符号开头,然后紧跟变量的名称。

  • 变量名的起始字符必须是字母或者下划线。

  • 变量名只能由字母、数字以及下划线(A-z、0-9 和 _ )组成。

  • 变量名中不能包含空格,以确保变量名的一致性和可识别性。

  • 变量名是区分大小写的,这意味着 $y 和 $Y 被视为两个完全不同的变量。

重要提示: PHP 中的语句和变量都是区分大小写的,因此在编写代码时必须严格遵循这一规则,以避免因大小写不一致导致的错误。

3、创建(声明)PHP 变量
  • PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
  • 在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。

  • 注意:当赋一个文本值给变量时,需要在文本值两侧加上引号。

PHP 是一门弱类型语言
  • 在上述实例中,我们可以发现,在 PHP 中无需事先声明变量的数据类型。

  • PHP 会根据变量所赋的值自动推断并转换为合适的数据类型。

  • 与之相对,在强类型的编程语言中,如 Java 、C++ 等,在使用变量之前必须明确声明(定义)变量的类型和名称。

四、PHP数据类型

  • PHP语言有7种数据类型,每一个变量对应着一个数据类型:

  • 字符串(String) , 整型(Integer) , 浮点型 (Float), 布尔型 (boolean), 数组(Array) , 对象 (Object),空值(NULL)

1、字符串(String)
  • 字符串变量用于存储并处理文本;

  • 字符串变量用于包含有字符的值;

  • 在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中;

  • 我们可以将将任何文本放在 单引号 或 双引号 中形成一个字符串“0

在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:

<?php
$txt="Hello world!";
echo $txt;
?>
//输出:
Hello world!
  • 注意:当赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。

2、整型(Integer)
  • 整数是一个没有小数的数字

PHP var_dump() 函数可以输出变量的值和数据类型】

  • 整数规则:

    • 整数可以是正数或负数

    • 整型可以用三种格式来指定:十进制,十六进制 ( 前缀为 0x ) 或八进制 ( 前缀为 0 )

<?php
    $x =  29;
    echo "$x";echo "<br>";
    var_dump($x);echo "<br><br>";
    $y =  -29;
    echo "$y";echo "<br>";
    var_dump($y);echo "<br><br>";
    $x =  0xcc;     //十六进制
    echo "$x";echo "<br>";
    var_dump($x);echo "<br><br>";
    $y =  027;      //八进制
    echo "$y";echo "<br>";
    var_dump($y);echo "<br><br>";
?>
输出:
29
int(29)
​
-29
int(-29)
​
204
int(204)
​
23
int(23)
 
3、浮点型(Float)
  • 浮点数是带小数部分的数字,或是指数形式

<?php
$x =  27.365;
echo "$x";echo "<br>";
var_dump($x);echo "<br><br>";
$y =  27.4e3;   //27400
echo "$y";echo "<br>";
var_dump($y);echo "<br><br>";
$x =  2e-5;     //2.0e-5
echo "$x";echo "<br>";
var_dump($x);echo "<br><br>";
?>
//输出:
27.365
float(27.365)
​
27400
float(27400)
​
2.0E-5
float(2.0E-5)
 
4、布尔型(boolean)

布尔型可以是常量 TRUE 或 FALSE【TRUE 或 FALSE 大小写都可以,不过为了好识别,一般情况下使用小写的】

布尔型通常用于条件判断。在接下来的条件控制章节中你们会频繁和 BOOL 类型打交道

<?php
$x =  true;
$y =  false;
​
var_dump($x);echo "<br>";
var_dump($y);
?>
//输出:
bool(true)
bool(false)

5、数组(Array)

数组可以在一个变量中存储多个值

在接下来的章节中我们将学到更多关于数组的知识

<?php
$cars =  array("zzy","szy","wh");
echo "<pre>";
var_dump($cars);
echo "</pre>"
?>
//输出:
array(3) {
  [0]=>
  string(3) "zzy"
  [1]=>
  string(3) "szy"
  [2]=>
  string(2) "wh"
}
 
6、对象(Object)

对象数据类型也可以用于存储数据

在 PHP 中,对象必须先声明然后再使用。首先,必须使用 class 关键字声明类对象,类是可以包含属性和方法的结构。然后我们在类中定义数据类型,最后在实例化的类中使用数据类型。

下面的范例中 PHP 关键字 this 就是指向当前对象实例的指针,不指向任何其它对象或类:

<?php
class Car
{
    var $color;
    function __construct($color = "green")
    {
        $this->color = $color;
    }
​
    function what_color(){
        return $this->color;
    }
}
​
function print_vars($obj)
{
    foreach (get_object_vars($obj) as $prop => $val) 
    {
        echo "/t$prop = $val\n";
    }
}
//instantiate one object
$herbie = new Car("white");
​
//show herbie properties
echo "\herbie:Properties\n";
print_vars($herbie)
​
?>
//输出:
\herbie:Properties /tcolor = white
 
7、空值(NULL)

NULL 值表示变量没有值

null 是数据类型为 NULL 的值

null 不区分大小写,可以使 null 或 NULL,但推荐使用 NULL;

可以通过设置变量值为 NULL 来清空变量数据

<?php
$x = NULL;
var_dump($x);
?>

五、PHP 运算符

在 PHP 中,赋值运算符 = 用于给变量赋值。 在 PHP 中,算术运算符 + 用于把值加在一起。

1、PHP 算术运算符
运算符名称描述实例结果
x + yx 和 y 的和2 + 24
x - yx 和 y 的差5 - 23
x * yx 和 y 的积5 * 210
x / yx 和 y 的商15 / 53
x % y模(除法的余数)x 除以 y 的余数5 % 21
-x设置复数取 x 的相反符号<?php $x = 2;echo -$x; ?>-2
~x取反x 取反,按二进制位进行“取反”运算。运算规则:~1=-2;~0=-1;<?php $x = 2;<br/>echo ~$x; ?>-3
a . b并置连接两个字符串“Hi”."Ha"HiHa
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出16
echo '<br>'; 
echo ($x - $y); // 输出4
echo '<br>'; 
echo ($x * $y); // 输出60
echo '<br>'; 
echo ($x / $y); // 输出1.6666666666667
echo '<br>'; 
echo ($x % $y); // 输出4
echo '<br>'; 
echo -$x;
?>

PHP7+ 版本新增整除运算符 intdiv(),该函数返回值为第一个参数除于第二个参数的值并取整(向下取整),使用实例:

<?php
var_dump(intdiv(10, 3));
?>
 
2、PHP 赋值运算符
运算符等同于描述
x = yx = y左操作数被设置为右侧表达式的值
x += yx = x + y
x -= yx = x - y
x *= yx = x * y
x /= yx = x / y
x = x / yx = x % y模(除法的余数)
a .= ba = a . b连接两个字符串
<?php
$x=10;
echo $x; // 输出10
$y=20;
$y += 100;
echo $y; // 输出120
$z=50;
$z -= 25;
echo $z; // 输出25
$i=5;
$i *= 6;
echo $i; // 输出30
$j=10;
$j /= 5;
echo $j; // 输出2
$k=15;
$k %= 4;
echo $k; // 输出3
?>
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world!
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world!
?>
 
3、PHP 递增/递减运算符
运算符名称描述
++ x预递增x 加 1,然后返回 x
x ++后递增返回 x,然后 x 加 1
-- x预递减x 减 1,然后返回 x
x --后递减返回 x,然后 x 减 1
<?php
$x=10;
echo ++$x; // 输出11
$y=10;
echo $y++; // 输出10
$z=5;
echo --$z; // 输出4
$i=5;
echo $i--; // 输出5
?>
 
4、PHP 比较运算符
运算符名称描述实例
x == y等于如果 x 等于 y,则返回 true5==8 返回 false
x ===y绝对等于如果 x 等于 y,且它们类型相同,则返回true5==="5" 返回false
x != y不等于如果 x 不等于 y,则返回 true5!=8 返回 true
x <> y不等于如果 x 不等于 y,则返回 true5<>8 返回 true
x !== y不绝对等于如果 x 不等于 y,或它们类型不相同,则返回5!=="5" 返回 true
x > y大于true如果 x 大于 y,则返回 true5!=="5" 返回 true
x < y小于如果 x 小于 y,则返回 true5<8 返回 true
x >= y大于等于如果 x 大于或者等于 y,则返回 true5>=8 返回 false
x <= y小于等于如果 x 小于或者等于 y,则返回 true5<=8 返回 true
<?php
$x=100;
$y="100";
​
var_dump($x == $y);     //true
echo "<br>";
var_dump($x === $y);    //false
echo "<br>";
var_dump($x != $y);     //false
echo "<br>";
var_dump($x !== $y);    //true
echo "<br>";
​
$a=50;
$b=90;
​
var_dump($a > $b);      //false
echo "<br>";
var_dump($a < $b);      //true
?>
 
5、PHP 逻辑运算符
运算符名称描述实例
x and y如果 x 和 y 都为 true,则返回 truex=6 y=3 (x < 10 and y > 1) 返回 true
x or y如果 x 和 y 至少有一个为 true,则返回 truex=6 y=3 (x==6 or y==5) 返回 true
x xor y异或如果 x 和 y 有且仅有一个为 true,则返回 truex=6 y=3 (x==6 xor y==3) 返回 false
x && y如果 x 和 y 都为 true,则返回 truex=6 y=3 (x < 10 && y > 1) 返回 true
x || y如果 x 和 y 至少有一个为 true,则返回 truex=6 y=3 (x==5 || y==5) 返回 false
! x如果 x 不为 true,则返回 truex=6 y=3 !(x==y) 返回 true
6、PHP 数组运算符
运算符名称描述
x + y集合x 和 y 的集合
x == y相等如果 x 和 y 具有相同的键/值对,则返回 true
x === y恒等如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y不相等如果 x 不等于 y,则返回 true
x <> y不相等如果 x 不等于 y,则返回 true
x !== y不恒等如果 x 不等于 y,则返回 true
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>
 
7、三元运算符
  • 另一个条件运算符是"?:"(或三元)运算符 。语法格式:

(expr1) ? (expr2) : (expr3)

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

实例:

<?php
// 普通写法
$username = 11>10 ? 'yes' : 'no';
echo $username, PHP_EOL;
?>
 
8、运算符优先级
  • 下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

  • 说明:左 = 从左到右,右 = 从右到左。

结合方向运算符附加信息
clone newclone 和 new
[array()
++ -- ~ (int) (float) (string) (array) (object) (bool) @类型和递增/递减
instanceof类型
!逻辑运算符
* / %算术运算符
+ - .算术运算符和字符串运算符
<< >>位运算符
== != === !== <>比较运算符
&位运算符和引用
^位运算符
|位运算符
&&逻辑运算符
||逻辑运算符
?:三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>= =>赋值运算符
and逻辑运算符
xor逻辑运算符
or逻辑运算符
多处用到

运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。

<?php
// 优先级: && > = > and
// 优先级: || > = > or
$a = 3;
$b = false;
$c = $a or $b;
var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true
$d = $a || $b;
var_dump($d); //这里的 $d 就是 boolean 值 true
?>

括号的使用

我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。

<?php
// 括号优先运算
$a = 1;
$b = 2;
$c = 3;
$d = $a + $b * $c;
echo $d;
echo "\n";
$e = ($a + $b) * $c; // 使用括号
echo $e;
echo "\n";
?>
 

六、局部和全局作用域

1、局部和全局作用域
  • 在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,

  • 要在一个函数中访问一个全局变量,需要使用 global 关键字

  • (内部函数要访问外部变量的时候需要globol在“引入”)

在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

<?php
$x=5; // 全局变量
function myTest()
    {
    $y=10; // 局部变量
    echo "<p>测试函数内变量:<p>";
    echo "变量 x 为: $x <br>"; //报错
    echo "变量 y 为: $y";
    }
myTest();
echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y"; //报错
?>

在函数中访问全局变量:

<?php
// 全局变量
$x=5;
function myTest()
    {
    global $x; //使用关键字
    $y=10; // 局部变量
    echo "<p>测试函数内变量:<p>";
    echo $x; //5
    echo "<br>";
    echo "变量 y 为: $y";
    }
myTest();
echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
//echo "变量 y 为: $y";
?>
 
2、global 关键字
  • global 关键字用于函数内访问全局变量。

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

<?php
$x=5;
$y=10;
​
function myTest()
    {
    global $x,$y;
    $y=$x+$y;
    }
​
myTest();
echo $y; // 输出 15
?>
  • PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

上面的实例可以写成这样:

<?php
$x=5;
$y=10;
​
function myTest()
    {
    $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    }
​
myTest();
echo $y;
?>
 

七、作用域

1、Static 作用域

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。 要做到这一点,请在第一次声明变量时使用 static 关键字:

<?php
​
function myTest()
{
    static $x=0; //static关键字删除之后 所有结果都是0
    echo $x;
    $x++;
    echo PHP_EOL; // 换行符
}
​
myTest();
myTest();
myTest();
?>

然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

注释:该变量仍然是函数的局部变量。

2、参数作用域

参数是通过调用代码将值传递给函数的局部变量。 参数是在参数列表中声明的,作为函数声明的一部分:

<?php
function myTest($x)
    {
    echo $x;
    }
myTest(5);
?>
 

八、相关函数

1、PHP strlen() 函数

有时知道字符串值的长度是很有用的。 strlen() 函数返回字符串的长度(字节数)。 下面的实例返回字符串 "Hello world!" 的长度:

<?php
    echo strlen("Hello world!");
?>

上面的代码将输出:12 提示:strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)

2、PHP strpos() 函数

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。 如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。 下面的实例在字符串 "Hello world!" 中查找文本 "world":

<?php
    echo strpos("Hello world!","world");
?>

上面的代码将输出:6 提示:在上面的实例中,字符串 "world" 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。后面数组下标也是从0开始

3、PHP If...Else 语句

条件语句用于根据不同条件执行不同动作。

PHP 条件语句

当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。 在 PHP 中,提供了下列条件语句:

  • if 语句 - 在条件成立时执行代码

  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码

  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块

  • switch 语句 - 在若干条件之一成立时执行一个代码块

1)PHP - if

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

if (条件)
    {
    条件成立时要执行的代码;
    }

如果当前时间小于 20,下面的实例将输出 "Have a good day!"

<?php 
时
$t=date("H");
if ($t<"20")
    {
    echo "Have a good day!";
    }
​
分
$t=date("i");
echo $t;
echo "\n";
if ($t<20)
    {
    echo "Have a good day!";
    }
?>
2)PHP - if...else

在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。

if (条件)
{
    条件成立时执行的代码;
}
else
{
    条件不成立时执行的代码;
}

如果当前时间小于 20,下面的实例将输出 "Have a good day!",否则输出 "Have a good night!":

<?php
$t=date("H");
if ($t<"20")
    {
    echo "Have a good day!";
    }
else
    {
    echo "Have a good night!";
    }
?>
3)PHP - if...elseif....else

在若干条件之一成立时执行一个代码块,请使用 if....elseif...else 语句。

if (条件)
    {
        if 条件成立时执行的代码;
    }
elseif (条件)
    {
        elseif 条件成立时执行的代码;
    }
else
    {
    条件不成立时执行的代码;
    }

如果当前时间小于 10,下面的实例将输出 "Have a good morning!",如果当前时间不小于 10 且小于20,则输出 "Have a good day!",否则输出 "Have a good night!"

<?php
$t=date("H");
if ($t<"10")
    {
    echo "Have a good morning!";
    }
elseif ($t<"20")
    {
    echo "Have a good day!";
    }
else
    {
    echo "Have a good night!";
    }
?>
4)PHP - switch 语句

switch 语句用于根据多个不同条件执行不同动作。 如果您希望有选择地执行若干代码块之一,请使用 switch 语句

<?php
switch (n)
{
case label1:
    如果 n=label1,此处代码将执行;
    break;
case label2:
    如果 n=label2,此处代码将执行;
    break;
default:
    如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>

工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

<?php
$favcolor="red";
switch ($favcolor)
{
    case "red":
        echo "你喜欢的颜色是红色!";
        break;
    case "blue":
        echo "你喜欢的颜色是蓝色!";
        break;
    case "green":
        echo "你喜欢的颜色是绿色!";
        break;
    default:
        echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>  
 
4、PHP 循环

在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句 来完成这个任务。 在 PHP 中,提供了下列循环语句:

  • while - 只要指定的条件成立,则循环执行代码块

  • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环

  • for - 循环执行代码块指定的次数

  • foreach - 根据数组中每个元素来循环代码块

1)while 循环

while 循环将重复执行代码块,直到指定的条件不成立。

while (条件)
{
    要执行的代码;
}

下面的实例首先设置变量 i 的值为 1 ($i=1;)。 然后,只要 i 小于或者等于 5,while 循环将继续运行。循环每运行一次,i 就会递增 1

<html>
<body>
<?php
    $i=1;
    while($i<=5)
    {
        echo "The number is " . $i . "<br>";
        $i++;
    }
?>
</body>
</html>
​
输出
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
2)do...while 语句

do...while 语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。

do
{
    要执行的代码;
}
while (条件);

实例 下面的实例首先设置变量 i 的值为 1 ($i=1;)。 然后,开始 do...while 循环。循环将变量 i 的值递增 1,然后输出。先检查条件(i 小于或者等于 5),只要 i 小于或者等于 5,循环将继续运行

<html>
<body>
<?php
$i=1;
do
{
    $i++;
    echo "The number is " . $i . "<br>";
}
while ($i<=5);
?>
</body>
</html>

输出:
The number is 2
The number is 3
The number is 4
The number is 5
The number is 6
3)For 循环

for 循环用于您预先知道脚本需要运行的次数的情况。
语法:

for (初始值; 条件; 增量)
{
    要执行的代码;
}

参数:

  • 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。

  • 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。

  • 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

注释:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。

实例 下面的实例定义一个初始值为 i=1 的循环。只要变量 i 小于或者等于 5,循环将继续运行。循环每运行一次,变量 i 就会递增 1
 

<?php
for ($i=1; $i<=5; $i++)
{
echo "数字为 " . $i . PHP_EOL;
}
?>

输出:
数字为 1
数字为 2
数字为 3
数字为 4
数字为 5
4)foreach 循环

foreach 循环用于遍历数组:

foreach ($array as $value)
{
    要执行代码;
}

每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。

foreach ($array as $key => $value)
{
    要执行代码;
}

实例:

<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{
    echo $value . PHP_EOL;
}
?>

下面的实例演示了一个输出给定数组键与值的循环:

<?php
    $x=array("Google", "Runoob","Taobao");
    foreach ($x as $value)
    {
        echo " value 为 ". $value ;
    }
?>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值