云计算分享家 发表于 2019-11-19 11:40:08

PHP完全自学手册(文档教程)







PHP 简介PHP 是服务器端脚本语言。您应当具备的基础知识在继续学习之前,您需要对以下知识有基本的了解:
[*]HTML
[*]CSS

PHP 是什么?
[*]PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。
[*]PHP 脚本在服务器上执行。
[*]PHP 可免费下载使用。

https://edu.aliyun.com/files/course/2017/09-27/205746aab825851714.jpgPHP 对初学者而言简单易学。

PHP 也为专业的程序员提供了许多先进的功能。

PHP 文件是什么?
[*]PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
[*]PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
[*]PHP 文件的默认文件扩展名是 ".php"
PHP 能做什么?
[*]PHP 可以生成动态页面内容
[*]PHP 可以创建、打开、读取、写入、关闭服务器上的文件
[*]PHP 可以收集表单数据
[*]PHP 可以发送和接收 cookies
[*]PHP 可以添加、删除、修改您的数据库中的数据
[*]PHP 可以限制用户访问您的网站上的一些页面
[*]PHP 可以加密数据
通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。为什么使用 PHP?
[*]PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
[*]PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
[*]PHP 提供了广泛的数据库支持
[*]PHP 是免费的,可从官方的 PHP 资源下载它:www.php.net
[*]PHP 易于学习,并可高效地运行在服务器端

云计算分享家 发表于 2019-11-19 11:45:19

您需要做什么?为了开始使用 PHP,您可以:
[*]找一个支持 PHP 和 MySQL 的 Web 主机
[*]在您自己的 PC 机上安装 Web 服务器,然后安装 PHP 和 MySQL
使用支持 PHP 的 Web 主机如果您的服务器支持 PHP,那么您不需要做任何事情。只要在您的 web 目录中创建 .php 文件即可,服务器将自动为您解析这些文件。您不需要编译任何软件,或安装额外的工具。由于 PHP 是免费的,大多数的 Web 主机都提供对 PHP 的支持。在您自己的 PC 机上建立 PHP然而,如果您的服务器不支持 PHP,您必须:
[*]安装 Web 服务器
[*]安装 PHP
[*]安装数据库,比如 MySQL
官方 PHP 网站(PHP.net)有 PHP 的安装说明: http://php.net/manual/en/install.phpPHP 服务器组件对于初学者建议使用集成的服务器组件,它已经包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。WampServerWindow 系统可以使用 WampServer,下载地址:http://www.wampserver.com/,支持32位和64位系统,根据自己的系统选择版本。WampServer 安装也简单,你只需要一直点击 "Next" 就可以完成安装了。XAMPPXAMPP 支持 Mac OS 和 Window 系统,下载地址:https://www.apachefriends.org/zh_cn/index.html。IDE (Integrated Development Environment,集成开发环境)Eclipse for PHP(免费)Eclipse 是一个开放源代码的、基于Java的可扩展开发平台(如果未安装JDK,则需要先 下载 JDK 安装)。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。支持 Window、Linux 和 Mac OS 平台。Eclipse for PHP 官方下载地址:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosrPhpStorm(收费)PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。PhpStorm 非常适合于PHP开发人员及前端工程师。提供诸于:智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。支持 Window、Linux 和 Mac OS 平台。PhpStorm 官方下载地址:http://www.jetbrains.com/phpstorm/download/

云计算分享家 发表于 2019-11-19 11:46:16

PHP 语法PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。基本的 PHP 语法PHP 脚本可以放在文档中的任何位置。PHP 脚本以 <?php 开始,以 ?> 结束:<?php
// PHP 代码
?>PHP 文件的默认文件扩展名是 ".php"。PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 "Hello World!":实例<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo
"Hello World!"
;
?>
</body>
</html>


运行结果: My first PHP page
Hello World!


PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。PHP 中的注释实例<!DOCTYPE html>
<html>
<body>
<?php
// 这是 PHP 单行注释
/*
这是
PHP 多行
注释
*/
?>
</body>
</html>

运行结果:Hello World!

云计算分享家 发表于 2019-11-19 11:53:29

PHP 变量变量是用于存储信息的"容器":实例<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

运行结果:11
与代数类似x=5
y=6
z=x+y在代数中,我们使用字母(如 x),并给它赋值(如 5)。从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。在 PHP 中,这些字母被称为变量。
https://edu.aliyun.com/files/course/2017/09-27/210252c366a3410652.jpg变量是用于存储数据的容器。

PHP 变量与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。PHP 变量规则:
[*]变量以 $ 符号开始,后面跟着变量的名称
[*]变量名必须以字母或者下划线字符开始
[*]变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
[*]变量名不能包含空格
[*]变量名是区分大小写的($y 和 $Y 是两个不同的变量)

https://edu.aliyun.com/files/course/2017/09-27/21025932bfbd136408.jpgPHP 语句和 PHP 变量都是区分大小写的。
创建(声明)PHP 变量PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建:实例<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

运行结果:
Hello world!
在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。PHP 是一门弱类型语言在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。PHP 变量作用域变量的作用域是脚本中变量可被引用/使用的部分。PHP 有四种不同的变量作用域:
[*]local
[*]global
[*]static
[*]parameter
局部和全局作用域在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:实例<?php
$x=5; // 全局变量

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

myTest();

echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
?>

运行结果:测试函数内变量:
变量 x 为:
变量 y 为: 10
测试函数外变量:
变量 x 为: 5
变量 y 为:

在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。
https://edu.aliyun.com/files/course/2017/09-27/21034409c584800572.jpg你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。
PHP global 关键字global 关键字用于函数内访问全局变量。在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:实例<?php
$x=5;
$y=10;

function myTest()
{
global $x,$y;
$y=$x+$y;
}

myTest();
echo $y; // 输出 15
?>

运行结果:15
PHP 将所有全局变量存储在一个名为 $GLOBALS 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。上面的实例可以写成这样:实例<?php
$x=5;
$y=10;

function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}

myTest();
echo $y;
?>

运行结果:15
Static 作用域当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。要做到这一点,请在您第一次声明变量时使用 static 关键字:实例<?php

function myTest()
{
static $x=0;
echo $x;
$x++;
}

myTest();
myTest();
myTest();

?>

运行结果:012
然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。注释:该变量仍然是函数的局部变量。参数作用域参数是通过调用代码将值传递给函数的局部变量。参数是在参数列表中声明的,作为函数声明的一部分:实例<?php

function myTest($x)
{
echo $x;
}

myTest(5);

?>我们将在 PHP 函数 章节对它做更详细的讨论。

云计算分享家 发表于 2019-11-19 11:55:56

PHP 5 echo 和 print 语句在 PHP 中有两个基本的输出方式: echo 和 print。本章节中我们会详细讨论两个语句的用法,并在实例中演示如何使用 echo 和 print。PHP echo 和 print 语句echo 和 print 区别:
[*]echo - 可以输出一个或多个字符串
[*]print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。PHP echo 语句echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。显示字符串下面的实例演示了如何使用 echo 命令输出字符串(字符串可以包含 HTML 标签):实例<?phpecho "<h2>PHP 很有趣!</h2>";echo "Hello world!<br>";echo "我要学 PHP!<br>";echo "这是一个", "字符串,", "使用了", "多个", "参数。";?>
运行结果:PHP 很有趣!
Hello world!我要学 PHP!这是一个字符串,使用了多个参数。
显示变量下面的实例演示了如何使用 echo 命令输出变量和字符串:实例<?php$txt1="学习 PHP";$txt2="RUNOOB.COM";$cars=array("Volvo","BMW","Toyota");
echo $txt1;echo "<br>";echo "在 $txt2 学习 PHP ";echo "<br>";echo "我车的品牌是 {$cars}";?>
运行结果:学习 PHP在 RUNOOB.COM 学习 PHP 我车的品牌是 Volvo
PHP print 语句print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。显示字符串下面的实例演示了如何使用 print 命令输出字符串(字符串可以包含 HTML 标签):实例
<?phpprint "<h2>PHP 很有趣!</h2>";print "Hello world!<br>";print "我要学习 PHP!";?>运行结果: PHP 很有趣!
Hello world!我要学习 PHP!


显示变量下面的实例演示了如何使用 print 命令输出变量和字符串:实例<?php$txt1="学习 PHP";$txt2="RUNOOB.COM";$cars=array("Volvo","BMW","Toyota");
print $txt1;print "<br>";print "在 $txt2 学习 PHP ";print "<br>";print "我车的品牌是 {$cars}";?>
运行结果:学习 PHP
在 RUNOOB.COM 学习 PHP
我车的品牌是 Volvo


云计算分享家 发表于 2019-11-19 11:59:11

PHP 5 数据类型String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。PHP 字符串一个字符串是一串字符的序列,就像 "Hello world!"。你可以将任何文本放在单引号和双引号中:实例<?php $x = "Hello world!";echo $x;echo "<br>";
$x = 'Hello world!';echo $x;?>
运行结果:Hello world!
Hello world!


PHP 整型整数是一个没有小数的数字。整数规则:
[*]整数必须至少有一个数字 (0-9)
[*]整数不能包含逗号或空格
[*]整数是没有小数点的
[*]整数可以是正数或负数
[*]整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:实例<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>

运行结果:int(5985)
int(-345)
int(140)
int(39)


PHP 浮点型浮点数是带小数部分的数字,或是指数形式。在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:实例<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>

运行结果:float(10.365)
float(2400)
float(8.0E-5)


PHP 布尔型布尔型可以是 TRUE 或 FALSE。$x=true;
$y=false;布尔型通常用于条件判断。在接下来的章节中你会学到更多关于条件控制的教程。PHP 数组数组可以在一个变量中存储多个值。在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:实例<?php
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>

运行结果:array(3) { => string(5) "Volvo" => string(3) "BMW" => string(6) "Toyota" }
在接下来的章节中你将学到更多关于数组的知识。PHP 对象对象数据类型也可以用于存储数据。在 PHP 中,对象必须声明。首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:实例<?php
class Car
{
var $color;
function Car($color="green") {
    $this->color = $color;
}
function what_color() {
    return $this->color;
}
}
?>

运行结果:
\herbie: Properties color = white

以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。你将会在接下来的章节中学会更多关于对象的知识。PHP NULL 值NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。可以通过设置变量值为 NULL 来清空变量数据:实例<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

运行结果:
NULL


云计算分享家 发表于 2019-11-19 12:05:10

PHP 5 常量常量值被定义后,在脚本的其他任何地方都不能被改变。PHP 常量常量是一个简单值的标识符。该值在脚本中不能改变。一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。注意: 常量在整个脚本中都可以使用。设置 PHP 常量设置常量,使用 define() 函数,函数语法如下:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
[*]name:必选参数,常量名称,即标志符。
[*]value:必选参数,常量的值。
[*]case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
以下实例我们创建一个 区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":实例<?php// 区分大小写的常量名define("GREETING", "欢迎访问 Runoob.com");echo GREETING;    // 输出 "欢迎访问 Runoob.com"echo '<br>';echo greeting;   // 输出 "greeting"?>
以下实例我们创建一个 不区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":实例
<?php// 不区分大小写的常量名define("GREETING", "欢迎访问 Runoob.com", true);echo greeting;// 输出 "欢迎访问 Runoob.com"?>

常量是全局的常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。实例<?phpdefine("GREETING", "欢迎访问 Runoob.com");
function myTest() {
    echo GREETING;}
myTest();    // 输出 "欢迎访问 Runoob.com"?>


云计算分享家 发表于 2019-11-19 12:07:24

PHP 字符串变量字符串变量用于存储并处理文本。PHP 中的字符串变量字符串变量用于包含有字符的值。在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:实例<?php
$txt
=
"Hello world!"
;
echo
$txt
;
?>


运行结果:
Hello world!



https://edu.aliyun.com/files/course/2017/09-27/21185935558b182533.jpg注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。
现在,让我们来看看一些常用的操作字符串的函数和运算符。PHP 并置运算符在 PHP 中,只有一个字符串运算符。并置运算符 (.) 用于把两个字符串值连接起来。下面的实例演示了如何将两个字符串变量连接在一起:实例<?php
$txt1
=
"Hello world!"
;
$txt2
=
"What a nice day!"
;
echo
$txt1
.
" "
.
$txt2
;
?>

上面的代码将输出:Hello world! What a nice day!提示:在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。PHP strlen() 函数有时知道字符串值的长度是很有用的。strlen() 函数返回字符串的长度(字符数)。下面的实例返回字符串 "Hello world!" 的长度:实例<?php
echo
strlen
(
"Hello world!"
);
?>


运行结果:
12

上面的代码将输出:12提示:strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)PHP strpos() 函数strpos() 函数用于在字符串内查找一个字符或一段指定的文本。如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。下面的实例在字符串 "Hello world!" 中查找文本 "world":实例<?php
echo
strpos
(
"Hello world!"
,
"world"
);
?>


运行结果:6

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

云计算分享家 发表于 2019-11-19 12:11:36

PHP 运算符本章节我们将讨论 PHP 中不同运算符的应用。在 PHP 中,赋值运算符 = 用于给变量赋值。在 PHP 中,算术运算符 + 用于把值加在一起。PHP 算术运算符
运算符名称描述实例结果
x + y加x 和 y 的和2 + 24
x - y减x 和 y 的差5 - 23
x * y乘x 和 y 的积5 * 210
x / y除x 和 y 的商15 / 53
x % y模(除法的余数)x 除以 y 的余数5 % 2
10 % 8
10 % 21
2
0
- x取反x 取反-22
a . b并置连接两个字符串"Hi" . "Ha"HiHa
以下实例演示了使用不同算术运算符得到的不同结果:实例<?php $x=10;
$y=6;echo ($x + $y); // 输出16echo '<br>';// 换行
echo ($x - $y); // 输出4echo '<br>';// 换行
echo ($x * $y); // 输出60echo '<br>';// 换行
echo ($x / $y); // 输出1.6666666666667echo '<br>';// 换行
echo ($x % $y); // 输出4echo '<br>';// 换行
echo -$x;?>
运行结果:16
4
60
1.6666666666667
4
-10


PHP7+ 版本新增整除运算符 intdiv(),使用实例:<?php
var_dump(intdiv(10, 3));?>
以上实例会输出:int(3)
PHP 赋值运算符在 PHP 中,基本的赋值运算符是 "="。它意味着左操作数被设置为右侧表达式的值。也就是说,"$x = 5" 的值是 5。
运算符等同于描述
x = yx = y左操作数被设置为右侧表达式的值
x += yx = x + y加
x -= yx = x - y减
x *= yx = x * y乘
x /= yx = x / y除
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
?>

运行结果:10
120
25
30
2
3


以下实例演示了使用不同字符串运算符得到的不同结果:实例<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world!
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world!
?>

运行结果:Hello world!
Hello world!


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
?>

运行结果:11
10
4
5


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,或它们类型不相同,则返回 true5!=="5" 返回 true
x > y大于如果 x 大于 y,则返回 true5>8 返回 false
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);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";
$a=50;
$b=90;
var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>

运行结果:bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)


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
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);
?>

运行结果:array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue"
["d"]=> string(6) "yellow" }
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)

三元运算符另一个条件运算符是"?:"(或三元)运算符 。语法格式(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。实例以下实例中通过判断 $_GET 请求中含有 user 值,如果有返回 $_GET['user'],否则返回 nobody:<?php
$test = 'PHP教程';
// 普通写法
$username = isset($test) ? $test : 'nobody';echo $username, PHP_EOL;
// PHP 5.3+ 版本写法
$username = $test ?: 'nobody';echo $username, PHP_EOL;?>
注意:PHP_EOL 是一个换行符,兼容更大平台。在 PHP7+ 版本多了一个 NULL 合并运算符,实例如下:<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';?>
组合比较符(PHP7+)PHP7+ 支持组合比较符,实例如下:<?php
// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>


云计算分享家 发表于 2019-11-19 12:14:02

PHP If...Else 语句条件语句用于根据不同条件执行不同动作。PHP 条件语句当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。在 PHP 中,提供了下列条件语句:
[*]if 语句 - 在条件成立时执行代码
[*]if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
[*]if...else if....else 语句 - 在若干条件之一成立时执行一个代码块
[*]switch 语句 - 在若干条件之一成立时执行一个代码块
PHP - if 语句if 语句用于仅当指定条件成立时执行代码。语法if (条件){
        条件成立时要执行的代码;}
如果当前时间小于 20,下面的实例将输出 "Have a good day!":实例<?php$t=date("H");if ($t<"20"){
    echo "Have a good day!";}?>
运行结果:Have a good day!



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!";}?>
运行结果:Have a good day!



PHP - if...else if....else 语句在若干条件之一成立时执行一个代码块,请使用 if....else if...else 语句。.语法if (条件)
{
if 条件成立时执行的代码;
}
else if (条件)
{
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!";}else if ($t<"20"){
    echo "Have a good day!";}else{
    echo "Have a good night!";}?>
运行结果:Have a good day!



PHP - switch 语句switch 语句将在下一章进行讲解。
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: PHP完全自学手册(文档教程)