[php学习资料] PHP完全自学手册(文档教程)

[复制链接]
查看: 3787|回复: 87
发表于 2019-11-19 11:40:08 | 显示全部楼层 |阅读模式
课时1:PHP 简介 课时2:PHP 安装 课时3:PHP 语法 课时4:PHP 变量 课时5:PHP echo/print 课时6:PHP 数据类型 课时7:PHP 常量 课时8:PHP 字符串 课时9:PHP 运算符 课时10:PHP If...Else 课时11:PHP Switch 课时12:PHP 数组 课时13:PHP 数组排序 课时14:PHP 超级全局变量 课时15:PHP While 循环 课时16:PHP For 循环 课时17:PHP 函数 课时18:PHP 魔术变量 课时19:PHP 命名空间 课时20:PHP 面向对象 课时21:PHP 表单 课时22:PHP 表单验证 课时23:PHP 表单 - 必需字段 课时24:PHP 表单 - 验证邮件和URL 课时25:PHP 完整表单实例 课时26:PHP $_GET 变量 课时27:PHP $_POST 变量 课时28:PHP 多维数组 课时29:PHP 日期 课时30:PHP 包含 课时31:PHP 文件 课时32:PHP 文件上传 课时33:PHP Cookie 课时34:PHP Session 课时35:PHP 安全 E-mail 课时36:PHP Error 课时37:PHP Exception 课时38:PHP 过滤器 课时39:PHP 高级过滤器 课时40:PHP JSON 课时41:PHP 7 新特性 课时42:PHP MySQL 简介 课时43:PHP 连接 MySQL 课时44:PHP MySQL 创建数据库 课时45:PHP 创建 MySQL 表 课时46:PHP MySQL 插入数据 课时47:PHP MySQL 插入多条数据 课时48:PHP MySQL 预处理语句 课时49:PHP MySQL 读取数据 课时50:PHP MySQL Where 课时51:PHP MySQL Order By 课时52:PHP MySQL Update 课时53:PHP MySQL Delete 课时54:PHP ODBC 课时55:XML Expat Parser 课时56:XML DOM 课时57:XML SimpleXML 课时58:AJAX 简介 课时59:AJAX PHP 课时60:AJAX 数据库 课时61:AJAX XML 课时62:AJAX 实时搜索 课时63:AJAX RSS Reader 课时64:AJAX 投票 课时65:PHP Array 课时66:PHP Calendar 课时67:PHP cURL 课时68:PHP Date 课时69:PHP Directory 课时70:PHP Error 课时71:PHP Filesystem 课时72:PHP Filter 课时73:PHP FTP 课时74:PHP HTTP 课时75:PHP Libxml 课时76:PHP Mail 课时77:PHP Math 课时78:PHP Misc 课时79:PHP MySQLi 课时80:PHP PDO 课时81:PHP SimpleXML 课时82:PHP String 课时83:PHP XML 课时84:PHP Zip 课时85:PHP Timezones 课时86:PHP 图像处理 课时87:PHP RESTful 课时88:PHP PCRE






PHP 简介

PHP 是服务器端脚本语言。

您应当具备的基础知识
在继续学习之前,您需要对以下知识有基本的了解:
  • HTML
  • CSS



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

PHP 对初学者而言简单易学。

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.php

PHP 服务器组件
对于初学者建议使用集成的服务器组件,它已经包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。
WampServer
Window 系统可以使用 WampServer,下载地址:http://www.wampserver.com/,支持32位和64位系统,根据自己的系统选择版本。
WampServer 安装也简单,你只需要一直点击 "Next" 就可以完成安装了。
XAMPP
XAMPP 支持 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/heliosr
PhpStorm(收费)
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!":
实例
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h1>My first PHP page</h1>
  5. <?php
  6. echo
  7. "Hello World!"
  8. ;
  9. ?>
  10. </body>
  11. </html>
复制代码



运行结果:
  1. My first PHP page
  2. Hello World!
复制代码



PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
通过 PHP,有两种在浏览器输出文本的基础指令:echoprint

PHP 中的注释实例
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. // 这是 PHP 单行注释
  6. /*
  7. 这是
  8. PHP 多行
  9. 注释
  10. */
  11. ?>
  12. </body>
  13. </html>
复制代码


运行结果:
  1. Hello World!
复制代码


回复

使用道具 举报

 楼主| 发表于 2019-11-19 11:53:29 | 显示全部楼层
PHP 变量
变量是用于存储信息的"容器":
实例
  1. <?php
  2. $x=5;
  3. $y=6;
  4. $z=$x+$y;
  5. echo $z;
  6. ?>
复制代码


运行结果:
11

与代数类似
x=5
y=6
z=x+y
在代数中,我们使用字母(如 x),并给它赋值(如 5)。
从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。
在 PHP 中,这些字母被称为变量
变量是用于存储数据的容器。


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

PHP 语句和 PHP 变量都是区分大小写的。

创建(声明)PHP 变量
PHP 没有声明变量的命令。
变量在您第一次赋值给它的时候被创建:
实例
  1. <?php
  2. $txt="Hello world!";
  3. $x=5;
  4. $y=10.5;
  5. ?>
复制代码


运行结果:

  1. Hello world!
复制代码

在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5
注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。

PHP 是一门弱类型语言
在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
PHP 会根据变量的值,自动把变量转换为正确的数据类型。
在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

PHP 变量作用域
变量的作用域是脚本中变量可被引用/使用的部分。
PHP 有四种不同的变量作用域:
  • local
  • global
  • static
  • parameter


局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:
实例
  1. <?php
  2. $x=5; // 全局变量

  3. function myTest()
  4. {
  5.     $y=10; // 局部变量
  6.     echo "<p>测试函数内变量:<p>";
  7.     echo "变量 x 为: $x";
  8.     echo "<br>";
  9.     echo "变量 y 为: $y";
  10. }  

  11. myTest();

  12. echo "<p>测试函数外变量:<p>";
  13. echo "变量 x 为: $x";
  14. echo "<br>";
  15. echo "变量 y 为: $y";
  16. ?>
复制代码


运行结果:
  1. 测试函数内变量:
  2. 变量 x 为:
  3. 变量 y 为: 10
  4. 测试函数外变量:
  5. 变量 x 为: 5
  6. 变量 y 为:
复制代码


在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。
当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。
然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。
你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。

PHP global 关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
实例
  1. <?php
  2. $x=5;
  3. $y=10;

  4. function myTest()
  5. {
  6. global $x,$y;
  7. $y=$x+$y;
  8. }

  9. myTest();
  10. echo $y; // 输出 15
  11. ?>
复制代码


运行结果:
15

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

  4. function myTest()
  5. {
  6. $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
  7. }

  8. myTest();
  9. echo $y;
  10. ?>
复制代码


运行结果:
15

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

  2. function myTest()
  3. {
  4. static $x=0;
  5. echo $x;
  6. $x++;
  7. }

  8. myTest();
  9. myTest();
  10. myTest();

  11. ?>
复制代码


运行结果:
012

然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
注释:该变量仍然是函数的局部变量。

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

  2. function myTest($x)
  3. {
  4. echo $x;
  5. }

  6. myTest(5);

  7. ?>
复制代码
我们将在 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 标签):
实例
  1. <?phpecho "<h2>PHP 很有趣!</h2>";echo "Hello world!<br>";echo "我要学 PHP!<br>";echo "这是一个", "字符串,", "使用了", "多个", "参数。";?>
复制代码

运行结果:
  1. PHP 很有趣!
  2. Hello world!我要学 PHP!这是一个字符串,使用了多个参数。
复制代码

显示变量
下面的实例演示了如何使用 echo 命令输出变量和字符串:
实例
  1. <?php$txt1="学习 PHP";$txt2="RUNOOB.COM";$cars=array("Volvo","BMW","Toyota");
  2. echo $txt1;echo "<br>";echo "在 $txt2 学习 PHP ";echo "<br>";echo "我车的品牌是 {$cars[0]}";?>
复制代码

运行结果:
  1. 学习 PHP在 RUNOOB.COM 学习 PHP 我车的品牌是 Volvo
复制代码


PHP print 语句
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。
显示字符串
下面的实例演示了如何使用 print 命令输出字符串(字符串可以包含 HTML 标签):
实例
  1. <?phpprint "<h2>PHP 很有趣!</h2>";print "Hello world!<br>";print "我要学习 PHP!";?>
复制代码
运行结果:
  1. PHP 很有趣!
  2. Hello world!我要学习 PHP!
复制代码



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

运行结果:
  1. 学习 PHP
  2. 在 RUNOOB.COM 学习 PHP
  3. 我车的品牌是 Volvo
复制代码



回复

使用道具 举报

 楼主| 发表于 2019-11-19 11:59:11 | 显示全部楼层
PHP 5 数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

PHP 字符串
一个字符串是一串字符的序列,就像 "Hello world!"。
你可以将任何文本放在单引号和双引号中:
实例
  1. <?php $x = "Hello world!";echo $x;echo "<br>";
  2. $x = 'Hello world!';echo $x;?>
复制代码

运行结果:
  1. Hello world!
  2. Hello world!
复制代码




PHP 整型
整数是一个没有小数的数字。
整数规则:
  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:
实例
  1. <?php
  2. $x = 5985;
  3. var_dump($x);
  4. echo "<br>";
  5. $x = -345; // 负数
  6. var_dump($x);
  7. echo "<br>";
  8. $x = 0x8C; // 十六进制数
  9. var_dump($x);
  10. echo "<br>";
  11. $x = 047; // 八进制数
  12. var_dump($x);
  13. ?>
复制代码


运行结果:
  1. int(5985)
  2. int(-345)
  3. int(140)
  4. int(39)
复制代码




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


运行结果:
  1. float(10.365)
  2. float(2400)
  3. float(8.0E-5)
复制代码




PHP 布尔型
布尔型可以是 TRUE 或 FALSE。
$x=true;
$y=false;
布尔型通常用于条件判断。在接下来的章节中你会学到更多关于条件控制的教程。

PHP 数组
数组可以在一个变量中存储多个值。
在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:
实例
  1. <?php
  2. $cars=array("Volvo","BMW","Toyota");
  3. var_dump($cars);
  4. ?>
复制代码


运行结果:
  1. array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(6) "Toyota" }
复制代码

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

PHP 对象
对象数据类型也可以用于存储数据。
在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:
实例
  1. <?php
  2. class Car
  3. {
  4.   var $color;
  5.   function Car($color="green") {
  6.     $this->color = $color;
  7.   }
  8.   function what_color() {
  9.     return $this->color;
  10.   }
  11. }
  12. ?>
复制代码


运行结果:

  1. \herbie: Properties color = white
复制代码


以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。
你将会在接下来的章节中学会更多关于对象的知识。

PHP NULL 值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:
实例
  1. <?php
  2. $x="Hello world!";
  3. $x=null;
  4. var_dump($x);
  5. ?>
复制代码


运行结果:

  1. NULL
复制代码



回复

使用道具 举报

 楼主| 发表于 2019-11-19 12:05:10 | 显示全部楼层
PHP 5 常量
常量值被定义后,在脚本的其他任何地方都不能被改变。

PHP 常量
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。

设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:
  1. bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
复制代码

该函数有三个参数:
  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

以下实例我们创建一个 区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":
实例
  1. <?php// 区分大小写的常量名define("GREETING", "欢迎访问 Runoob.com");echo GREETING;    // 输出 "欢迎访问 Runoob.com"echo '<br>';echo greeting;   // 输出 "greeting"?>
复制代码

以下实例我们创建一个 不区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":
实例
  1. <?php// 不区分大小写的常量名define("GREETING", "欢迎访问 Runoob.com", true);echo greeting;  // 输出 "欢迎访问 Runoob.com"?>
复制代码



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



回复

使用道具 举报

 楼主| 发表于 2019-11-19 12:07:24 | 显示全部楼层
PHP 字符串变量
字符串变量用于存储并处理文本。

PHP 中的字符串变量
字符串变量用于包含有字符的值。
在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。
在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:
实例
  1. <?php
  2. $txt
  3. =
  4. "Hello world!"
  5. ;
  6. echo
  7. $txt
  8. ;
  9. ?>
复制代码



运行结果:

  1. Hello world!
复制代码



注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。
现在,让我们来看看一些常用的操作字符串的函数和运算符。

PHP 并置运算符
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
下面的实例演示了如何将两个字符串变量连接在一起:
实例
  1. <?php
  2. $txt1
  3. =
  4. "Hello world!"
  5. ;
  6. $txt2
  7. =
  8. "What a nice day!"
  9. ;
  10. echo
  11. $txt1
  12. .
  13. " "
  14. .
  15. $txt2
  16. ;
  17. ?>
复制代码


上面的代码将输出:Hello world! What a nice day!
提示:在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。

PHP strlen() 函数
有时知道字符串值的长度是很有用的。
strlen() 函数返回字符串的长度(字符数)。
下面的实例返回字符串 "Hello world!" 的长度:
实例
  1. <?php
  2. echo
  3. strlen
  4. (
  5. "Hello world!"
  6. );
  7. ?>
复制代码



运行结果:

  1. 12
复制代码


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

PHP strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
下面的实例在字符串 "Hello world!" 中查找文本 "world":
实例
  1. <?php
  2. echo
  3. strpos
  4. (
  5. "Hello world!"
  6. ,
  7. "world"
  8. );
  9. ?>
复制代码



运行结果:
  1. 6
复制代码


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



回复

使用道具 举报

 楼主| 发表于 2019-11-19 12:11:36 | 显示全部楼层
PHP 运算符
本章节我们将讨论 PHP 中不同运算符的应用。
在 PHP 中,赋值运算符 = 用于给变量赋值。
在 PHP 中,算术运算符 + 用于把值加在一起。

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 % 2
10 % 8
10 % 2
1
2
0
- x取反x 取反-22
a . b并置连接两个字符串"Hi" . "Ha"HiHa
以下实例演示了使用不同算术运算符得到的不同结果:
实例
  1. <?php $x=10;
  2. $y=6;echo ($x + $y); // 输出16echo '<br>';  // 换行
  3. echo ($x - $y); // 输出4echo '<br>';  // 换行
  4. echo ($x * $y); // 输出60echo '<br>';  // 换行
  5. echo ($x / $y); // 输出1.6666666666667echo '<br>';  // 换行
  6. echo ($x % $y); // 输出4echo '<br>';  // 换行
  7. echo -$x;?>
复制代码

运行结果:
  1. 16
  2. 4
  3. 60
  4. 1.6666666666667
  5. 4
  6. -10
复制代码



PHP7+ 版本新增整除运算符 intdiv(),使用实例:
  1. <?php
  2. var_dump(intdiv(10, 3));?>
复制代码

以上实例会输出:
  1. 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连接两个字符串
以下实例演示了使用不同赋值运算符得到的不同结果:
实例
  1. <?php
  2. $x=10;
  3. echo $x; // 输出10
  4. $y=20;
  5. $y += 100;
  6. echo $y; // 输出120
  7. $z=50;
  8. $z -= 25;
  9. echo $z; // 输出25
  10. $i=5;
  11. $i *= 6;
  12. echo $i; // 输出30
  13. $j=10;
  14. $j /= 5;
  15. echo $j; // 输出2
  16. $k=15;
  17. $k %= 4;
  18. echo $k; // 输出3
  19. ?>
复制代码


运行结果:
  1. 10
  2. 120
  3. 25
  4. 30
  5. 2
  6. 3
复制代码



以下实例演示了使用不同字符串运算符得到的不同结果:
实例
  1. <?php
  2. $a = "Hello";
  3. $b = $a . " world!";
  4. echo $b; // 输出Hello world!
  5. $x="Hello";
  6. $x .= " world!";
  7. echo $x; // 输出Hello world!
  8. ?>
复制代码


运行结果:
  1. Hello world!
  2. Hello world!
复制代码




PHP 递增/递减运算符
运算符
名称
描述
++ x预递增x 加 1,然后返回 x
x ++后递增返回 x,然后 x 加 1
-- x预递减x 减 1,然后返回 x
x --后递减返回 x,然后 x 减 1
以下实例演示了使用递增/递减运算符得到的结果:
实例
  1. <?php
  2. $x=10;
  3. echo ++$x; // 输出11
  4. $y=10;
  5. echo $y++; // 输出10
  6. $z=5;
  7. echo --$z; // 输出4
  8. $i=5;
  9. echo $i--; // 输出5
  10. ?>
复制代码


运行结果:
  1. 11
  2. 10
  3. 4
  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
以下实例演示了使用一些比较运算符得到的不同结果:
实例
  1. <?php
  2. $x=100;
  3. $y="100";
  4. var_dump($x == $y);
  5. echo "<br>";
  6. var_dump($x === $y);
  7. echo "<br>";
  8. var_dump($x != $y);
  9. echo "<br>";
  10. var_dump($x !== $y);
  11. echo "<br>";
  12. $a=50;
  13. $b=90;
  14. var_dump($a > $b);
  15. echo "<br>";
  16. var_dump($a < $b);
  17. ?>
复制代码


运行结果:
  1. bool(true)
  2. bool(false)
  3. bool(false)
  4. bool(true)
  5. bool(false)
  6. 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
以下实例演示了使用一些数组运算符得到的不同结果:
实例
  1. <?php
  2. $x = array("a" => "red", "b" => "green");
  3. $y = array("c" => "blue", "d" => "yellow");
  4. $z = $x + $y; // $x 和 $y 数组合并
  5. var_dump($z);
  6. var_dump($x == $y);
  7. var_dump($x === $y);
  8. var_dump($x != $y);
  9. var_dump($x <> $y);
  10. var_dump($x !== $y);
  11. ?>
复制代码


运行结果:
  1. array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue"
  2. ["d"]=> string(6) "yellow" }
  3. bool(false)
  4. bool(false)
  5. bool(true)
  6. bool(true)
  7. bool(true)
复制代码



三元运算符
另一个条件运算符是"?:"(或三元)运算符 。
语法格式
  1. (expr1) ? (expr2) : (expr3)
复制代码

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
实例
以下实例中通过判断 $_GET 请求中含有 user 值,如果有返回 $_GET['user'],否则返回 nobody:
  1. <?php
  2. $test = 'PHP教程';
  3. // 普通写法
  4. $username = isset($test) ? $test : 'nobody';echo $username, PHP_EOL;
  5. // PHP 5.3+ 版本写法
  6. $username = $test ?: 'nobody';echo $username, PHP_EOL;?>
复制代码

注意:PHP_EOL 是一个换行符,兼容更大平台。
在 PHP7+ 版本多了一个 NULL 合并运算符,实例如下:
  1. <?php
  2. // 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
  3. $username = $_GET['user'] ?? 'nobody';
  4. // 类似的三元运算符
  5. $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';?>
复制代码


组合比较符(PHP7+)
PHP7+ 支持组合比较符,实例如下:
  1. <?php
  2. // 整型
  3. echo 1 <=> 1; // 0
  4. echo 1 <=> 2; // -1
  5. echo 2 <=> 1; // 1

  6. // 浮点型
  7. echo 1.5 <=> 1.5; // 0
  8. echo 1.5 <=> 2.5; // -1
  9. echo 2.5 <=> 1.5; // 1

  10. // 字符串
  11. echo "a" <=> "a"; // 0
  12. echo "a" <=> "b"; // -1
  13. echo "b" <=> "a"; // 1
  14. ?>
复制代码



回复

使用道具 举报

 楼主| 发表于 2019-11-19 12:14:02 | 显示全部楼层
PHP If...Else 语句
条件语句用于根据不同条件执行不同动作。

PHP 条件语句
当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。
在 PHP 中,提供了下列条件语句:
  • if 语句 - 在条件成立时执行代码
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if...else if....else 语句 - 在若干条件之一成立时执行一个代码块
  • switch 语句 - 在若干条件之一成立时执行一个代码块


PHP - if 语句
if 语句用于仅当指定条件成立时执行代码
语法
  1. if (条件){
  2.         条件成立时要执行的代码;}
复制代码

如果当前时间小于 20,下面的实例将输出 "Have a good day!":
实例
  1. <?php$t=date("H");if ($t<"20"){
  2.     echo "Have a good day!";}?>
复制代码

运行结果:
  1. Have a good day!
复制代码





PHP - if...else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。
语法
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
如果当前时间小于 20,下面的实例将输出 "Have a good day!",否则输出 "Have a good night!":
实例
  1. <?php$t=date("H");if ($t<"20"){
  2.     echo "Have a good day!";}else{
  3.     echo "Have a good night!";}?>
复制代码

运行结果:
  1. 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!":
实例
  1. <?php$t=date("H");if ($t<"10"){
  2.     echo "Have a good morning!";}else if ($t<"20"){
  3.     echo "Have a good day!";}else{
  4.     echo "Have a good night!";}?>
复制代码

运行结果:
  1. Have a good day!
复制代码





PHP - switch 语句
switch 语句将在下一章进行讲解。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )