- 浏览: 203204 次
- 性别:
- 来自: 湖南
文章分类
最新评论
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。PHP 极其适合网站开发,其代码可以直接嵌入 HTML 代码。
PHP 语法非常类似于 Perl 和 C。PHP 常常搭配 Apache (web 服务器) 一起使用。不过它也支持 ISAPI,并且可以运行于 Windows 的微软 IIS 平台。
PHP 文件可包含文本、HTML 标签以及脚本。PHP 文件中的脚本可在服务器上执行。
您应当具备的基础知识
在继续学习之前,您需要对下面的知识有基本的了解:
HTML / XHTML
基础的脚本知识
如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。
什么是 PHP?
PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名)
PHP 是一种服务器端的脚本语言,类似 ASP
PHP 脚本在服务器上执行
PHP 支持很多数据库(MySQL、Informix、Oracle、Sybase、Solid、PostgreSQL、Generic ODBC 等等)
PHP 是一个开源的软件(open source software,OSS)
PHP 可免费下载使用
什么是 PHP 文件?
PHP 文件可包含文本、HTML 标签以及脚本
PHP 文件向浏览器返回纯粹的 HTML
PHP 文件的文件后缀是 ".php"、".php3" 或 ".phtml"
什么是 MySQL?
MySQL 是一种数据库服务器
MySQL 支持标准的 SQL
MySQL 可在许多平台上编译
MySQL 可免费下载使用
PHP + MySQL
PHP 与 MySQL 的组合是跨平台的(意思是您可以在 Windows 环境进行开发,而在 Unix 平台上提供服务)
为什么要使用 PHP?
PHP 可在不同的平台上运行(Windows、Linux、Unix)
PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
PHP 可从官方的 PHP 资源免费下载:www.php.net
PHP 易于学习,并可高效地运行在服务器端
从何处开始?
在 Windows 或者 Linux 机器上安装 Apache 服务器
在 Windows 或者 Linux 机器上安装 PHP
在 Windows 或者 Linux 机器上安装 MySQL
PHP 安装
你需要做什么?
本教程不会为您讲解如何安装 PHP 、MySQL 或 Apache 服务器。
如果您的服务器支持 PHP - 那么您不需要做任何事情!您不需要编译任何软件,或安装额外的工具 - 只要在您的 web 目录中创建 .php 文件即可 - 然后您的服务器会为您解析这些文件。大多数主机都提供对 PHP 的支持。
不过,如果您的服务器不支持 PHP,那么您必须安装 PHP。下面的链接提供了来自 PHP.net 的优秀教程,您可以从中学习到如何安装 PHP5:
http://www.php.net/manual/en/install.php
下载 PHP
从此处下载免费的 PHP:http://www.php.net/downloads.php
下载 MySQL Database
从此处下载免费的 MySQL:http://www.mysql.com/downloads/index.html
下载 Apache Server
从此处下载免费的 Apache:http://httpd.apache.org/download.cgi
PHP 语法
您无法在浏览器中通过查看源文档的方式来查看 PHP 的源代码 - 您只能看到 PHP 文件的输出,即纯粹的 HTML。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。
基本的 PHP 语法
PHP 的脚本块以 <?php 开始,以 ?> 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。
当然,在支持简写的服务器上,您可以使用 <? 和 ?> 来开始和结束脚本块。
不过,为了达到最好的兼容性,我们推荐您使用标准形式 (<?php),而不是简写形式。
PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。
在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World":
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。
PHP 中的注释
在 PHP 中,我们使用 // 来编写单行注释,或者使用 /* 和 */ 来编写大的注释块。
PHP 变量
变量用于存储值,比如数字、字符串或函数的结果,这样我们就可以在脚本中多次使用它们了。
PHP 中的变量
变量用于存储值,比如数字、文本字符串或数组。
一旦设置了某个变量,我们就可以在脚本中重复地使用它。
PHP 中的所有变量都是以 $ 符号开始的。
在 PHP 中设置变量的正确方法是:
$var_name = value;PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。
让我们试着创建一个存有字符串的变量,和一个存有数值的变量:
PHP 是一门松散类型的语言(Loosely Typed Language)
在 PHP 中,不需要在设置变量之前声明该变量。
在上面的例子中,您看到了,不必向 PHP 声明该变量的数据类型。
根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。
在强类型的编程语言中,您必须在使用前声明变量的类型和名称。
在 PHP 中,变量会在使用时被自动声明。
变量的命名规则
变量名必须以字母或下划线 "_" 开头。
变量名只能包含字母数字字符以及下划线。
变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。
PHP 字符串
字符串变量用于存储并处理文本片段。
PHP 中的字符串
字符串变量用于包含字符串的值。
在本教程中,我们打算介绍几个在 PHP 中用于操作字符串的最常用的函数和运算符。
在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。
在下面,PHP 脚本把字符串 "Hello World" 赋值给名为 $txt 的字符串变量:
以上代码的输出:
Hello World现在,让我们试着使用不同的函数和运算符来操作我们的字符串。
并置运算符(Concatenation Operator)
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
要把两个变量连接在一起,请使用这个点运算符 (.) :
以上代码的输出:
Hello World 1234您可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。
为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。
使用 strlen() 函数
strlen() 函数用于计算字符串的长度。
让我们算出字符串 "Hello world!" 的长度:
以上代码的输出:12
字符串的长度信息常常用在循环或其他函数中,因为那时确定字符串何时结束是很重要的(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环)。
使用 strpos() 函数
strpos() 函数用于在字符串内检索一段字符串或一个字符。
如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 FALSE。
让我们试一下,是不是能在字符串中找到子字符串 "world":
以上代码的输出是: 6
正如您看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置的 0,而不是 1。
完整的 PHP String 参考手册
如需完整的字符串函数参考手册,请访问我们的 PHP String 参考手册。
这个手册提供了每个函数的简要描述和实例!
PHP 运算符
运算符用于对值进行运算.
PHP 运算符
本部分列出了在 PHP 中使用的各种运算符:
算数运算符
赋值运算符
比较运算符
逻辑运算符
PHP If...Else 语句
if、elseif 以及 else 语句用于执行基于不同条件的不同动作。
条件语句
当您编写代码时,您常常需要为不同的判断执行不同的动作。
您可以在代码中使用条件语句来完成此任务。
if...else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码
elseif 语句
与 if...else 配合使用,在若干条件之一成立时执行一个代码块 If...Else 语句
如果您希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if....else 语句。
语法
实例
如果当前日期是周五,下面的代码将输出 "Have a nice weekend!",否则会输出 "Have a nice day!":
如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中:
ElseIf 语句
如果希望在多个条件之一成立时执行代码,请使用 elseif 语句:
语法
实例
如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":
PHP Switch 语句
PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作。
Switch 语句
如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
实例
工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中 case 的值进行比较
如果存在匹配,则执行与 case 关联的代码
代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
如果没有 case 为真,则使用 default 语句
PHP 数组
数组能够在单独的变量名中存储一个或多个值。
什么是数组?
在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。
无需很多相似的变量,你可以把数据作为元素存储在数组中。
数组中的元素都有自己的 ID,因此可以方便地访问它们。
有三种数组类型:
数值数组
带有数字 ID 键的数组
关联数组
数组中的每个 ID 键关联一个值
多维数组
包含一个或多个数组的数组 数值数组
数值数组存储的每个元素都带有一个数字 ID 键。
可以使用不同的方法来创建数值数组:
例子 1
在这个例子中,会自动分配 ID 键:
$names = array("Peter","Quagmire","Joe");例子 2
在这个例子中,我们人工分配的 ID 键:
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
可以在脚本中使用这些 ID 键:
以上代码的输出:
Quagmire and Joe are Peter's neighbors关联数组
关联数组,它的每个 ID 键都关联一个值。
在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。
通过关联数组,我们可以把值作为键,并向它们赋值。
例子 1
在本例中,我们使用一个数组把年龄分配给不同的人:
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);例子 2
本例与例子 1 相同,不过展示了另一种创建数组的方法:
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
可以在脚本中使用 ID 键:
以上脚本的输出:
Peter is 32 years old.多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。
例子 1
在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:
如果输出这个数组的话,应该类似这样:
例子 2
让我们试着显示上面的数组中的一个单一的值:
echo "Is " . $families['Griffin'][2] .
" a part of the Griffin family?";
以上代码的输出:
Is Megan a part of the Griffin family?
PHP 循环
PHP 中的循环语句用于执行相同的代码块指定的次数。
循环
在您编写代码时,您经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。
在 PHP 中,我们可以使用下列循环语句:
while
只要指定的条件成立,则循环执行代码块
do...while
首先执行一次代码块,然后在指定的条件成立时重复这个循环
for
循环执行代码块指定的次数
foreach
根据数组中每个元素来循环代码块 while 语句
只要指定的条件成立,while 语句将重复执行代码块。
语法
while (condition)
code to be executed;例子
下面的例子示范了一个循环,只要变量 i 小于或等于 5,代码就会一直循环执行下去。循环每循环一次,变量就会递增 1:
do...while 语句
do...while 语句会至少执行一次代码 - 然后,只要条件成立,就会重复进行循环。
语法
例子
下面的例子将对 i 的值进行一次累加,然后,只要 i 小于 5 的条件成立,就会继续累加下去:
for 语句
如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。
语法
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
例子
下面的例子会把文本 "Hello World!" 显示 5 次:
foreach 语句
foreach 语句用于循环遍历数组。
每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。
语法
例子
下面的例子示范了一个循环,这个循环可以输出给定数组的值:
PHP 函数
PHP 的真正威力源自于它的函数。
在 PHP 中,提供了超过 700 个内建的函数。
PHP 函数
在本教程中,我们将为您讲解如何创建自己的函数。
如需内建函数的参考和实例,请访问我们的 PHP 参考手册。
创建 PHP 函数
函数是一种可以在任何被需要的时候执行的代码块。
创建 PHP 函数:
所有的函数都使用关键词 "function()" 来开始
命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
添加 "{" - 开口的花括号之后的部分是函数的代码。
插入函数代码
添加一个 "}" - 函数通过关闭花括号来结束。
例子
一个简单的函数,在其被调用时能输出我的名称的:
使用 PHP 函数
现在,我们要在 PHP 脚本中使用这个函数了:
以上代码的输出:
Hello world!
My name is David Yang.
That's right, David Yang is my name.
PHP 函数 - 添加参数
我们的第一个函数是一个非常简单的函数。它只能输出一个静态的字符串。
通过可以添加参数,我们向函数添加更多的功能。参数类似一个变量。
您可能注意到了,函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。
例子 1
下面的例子讲输出不同的名字,但姓是相同的:
上面的代码的输出:
My name is David Yang.
My name is Mike Yang.
My name is John Yang.
例子 2
下面的函数有两个参数:
上面的代码的输出:
My name is David Yang.
My name is Mike Yang!
My name is John Yang...
PHP 函数 - 返回值
函数也能用于返回值。
例子
以上代码的输出:
1 + 16 = 17
PHP 表单和用户输入
PHP 的 $_GET 和 $_POST 用于检索表单中的值,比如用户输入。
PHP 表单处理
表单实例:
上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "welcome.php" 这个文件。
"welcome.php" 文件类似这样:
上面这个脚本的输出样本类似这样:
Welcome John.
You are 28 years old.
我们将在下一章解释 PHP $_GET 和 $_POST。
表单验证
应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。
不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。
在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。
PHP $_GET
$_GET 变量用于收集来自 method="get" 的表单中的值。
$_GET 变量
$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。
$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
例子
当用户点击提交按钮时,发送的 URL 会类似这样:
http://www.w3school.com.cn/welcome.php?name=Peter&age=37"welcome.php" 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键):
为什么使用 $_GET?
注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。
$_REQUEST 变量
PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
PHP $_POST
$_POST 变量用于收集来自 method="post" 的表单中的值。
$_POST 变量
$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
$_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
例子
当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:
http://www.w3school.com.cn/welcome.php"welcome.php" 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键):
为什么使用 $_POST?
通过 HTTP POST 发送的变量不会显示在 URL 中。
变量没有长度限制。
不过,由于变量不显示在 URL 中,所有无法把页面加入书签。
$_REQUEST 变量
PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。PHP 极其适合网站开发,其代码可以直接嵌入 HTML 代码。
PHP 语法非常类似于 Perl 和 C。PHP 常常搭配 Apache (web 服务器) 一起使用。不过它也支持 ISAPI,并且可以运行于 Windows 的微软 IIS 平台。
PHP 文件可包含文本、HTML 标签以及脚本。PHP 文件中的脚本可在服务器上执行。
您应当具备的基础知识
在继续学习之前,您需要对下面的知识有基本的了解:
HTML / XHTML
基础的脚本知识
如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。
什么是 PHP?
PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名)
PHP 是一种服务器端的脚本语言,类似 ASP
PHP 脚本在服务器上执行
PHP 支持很多数据库(MySQL、Informix、Oracle、Sybase、Solid、PostgreSQL、Generic ODBC 等等)
PHP 是一个开源的软件(open source software,OSS)
PHP 可免费下载使用
什么是 PHP 文件?
PHP 文件可包含文本、HTML 标签以及脚本
PHP 文件向浏览器返回纯粹的 HTML
PHP 文件的文件后缀是 ".php"、".php3" 或 ".phtml"
什么是 MySQL?
MySQL 是一种数据库服务器
MySQL 支持标准的 SQL
MySQL 可在许多平台上编译
MySQL 可免费下载使用
PHP + MySQL
PHP 与 MySQL 的组合是跨平台的(意思是您可以在 Windows 环境进行开发,而在 Unix 平台上提供服务)
为什么要使用 PHP?
PHP 可在不同的平台上运行(Windows、Linux、Unix)
PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
PHP 可从官方的 PHP 资源免费下载:www.php.net
PHP 易于学习,并可高效地运行在服务器端
从何处开始?
在 Windows 或者 Linux 机器上安装 Apache 服务器
在 Windows 或者 Linux 机器上安装 PHP
在 Windows 或者 Linux 机器上安装 MySQL
PHP 安装
你需要做什么?
本教程不会为您讲解如何安装 PHP 、MySQL 或 Apache 服务器。
如果您的服务器支持 PHP - 那么您不需要做任何事情!您不需要编译任何软件,或安装额外的工具 - 只要在您的 web 目录中创建 .php 文件即可 - 然后您的服务器会为您解析这些文件。大多数主机都提供对 PHP 的支持。
不过,如果您的服务器不支持 PHP,那么您必须安装 PHP。下面的链接提供了来自 PHP.net 的优秀教程,您可以从中学习到如何安装 PHP5:
http://www.php.net/manual/en/install.php
下载 PHP
从此处下载免费的 PHP:http://www.php.net/downloads.php
下载 MySQL Database
从此处下载免费的 MySQL:http://www.mysql.com/downloads/index.html
下载 Apache Server
从此处下载免费的 Apache:http://httpd.apache.org/download.cgi
PHP 语法
您无法在浏览器中通过查看源文档的方式来查看 PHP 的源代码 - 您只能看到 PHP 文件的输出,即纯粹的 HTML。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。
基本的 PHP 语法
PHP 的脚本块以 <?php 开始,以 ?> 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。
当然,在支持简写的服务器上,您可以使用 <? 和 ?> 来开始和结束脚本块。
不过,为了达到最好的兼容性,我们推荐您使用标准形式 (<?php),而不是简写形式。
<?php ?>
PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。
在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World":
<html> <body> <?php echo "Hello World"; ?> </body> </html>
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。
PHP 中的注释
在 PHP 中,我们使用 // 来编写单行注释,或者使用 /* 和 */ 来编写大的注释块。
<html> <body> <?php //This is a comment /* This is a comment block */ ?> </body> </html>
PHP 变量
变量用于存储值,比如数字、字符串或函数的结果,这样我们就可以在脚本中多次使用它们了。
PHP 中的变量
变量用于存储值,比如数字、文本字符串或数组。
一旦设置了某个变量,我们就可以在脚本中重复地使用它。
PHP 中的所有变量都是以 $ 符号开始的。
在 PHP 中设置变量的正确方法是:
$var_name = value;PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。
让我们试着创建一个存有字符串的变量,和一个存有数值的变量:
<?php $txt = "Hello World!"; $number = 16; ?>
PHP 是一门松散类型的语言(Loosely Typed Language)
在 PHP 中,不需要在设置变量之前声明该变量。
在上面的例子中,您看到了,不必向 PHP 声明该变量的数据类型。
根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。
在强类型的编程语言中,您必须在使用前声明变量的类型和名称。
在 PHP 中,变量会在使用时被自动声明。
变量的命名规则
变量名必须以字母或下划线 "_" 开头。
变量名只能包含字母数字字符以及下划线。
变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。
PHP 字符串
字符串变量用于存储并处理文本片段。
PHP 中的字符串
字符串变量用于包含字符串的值。
在本教程中,我们打算介绍几个在 PHP 中用于操作字符串的最常用的函数和运算符。
在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。
在下面,PHP 脚本把字符串 "Hello World" 赋值给名为 $txt 的字符串变量:
<?php $txt="Hello World"; echo $txt; ?>
以上代码的输出:
Hello World现在,让我们试着使用不同的函数和运算符来操作我们的字符串。
并置运算符(Concatenation Operator)
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
要把两个变量连接在一起,请使用这个点运算符 (.) :
<?php $txt1="Hello World"; $txt2="1234"; echo $txt1 . " " . $txt2; ?>
以上代码的输出:
Hello World 1234您可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。
为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。
使用 strlen() 函数
strlen() 函数用于计算字符串的长度。
让我们算出字符串 "Hello world!" 的长度:
<?php echo strlen("Hello world!"); ?>
以上代码的输出:12
字符串的长度信息常常用在循环或其他函数中,因为那时确定字符串何时结束是很重要的(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环)。
使用 strpos() 函数
strpos() 函数用于在字符串内检索一段字符串或一个字符。
如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 FALSE。
让我们试一下,是不是能在字符串中找到子字符串 "world":
<?php echo strpos("Hello world!","world"); ?>
以上代码的输出是: 6
正如您看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置的 0,而不是 1。
完整的 PHP String 参考手册
如需完整的字符串函数参考手册,请访问我们的 PHP String 参考手册。
这个手册提供了每个函数的简要描述和实例!
PHP 运算符
运算符用于对值进行运算.
PHP 运算符
本部分列出了在 PHP 中使用的各种运算符:
算数运算符
赋值运算符
比较运算符
逻辑运算符
PHP If...Else 语句
if、elseif 以及 else 语句用于执行基于不同条件的不同动作。
条件语句
当您编写代码时,您常常需要为不同的判断执行不同的动作。
您可以在代码中使用条件语句来完成此任务。
if...else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码
elseif 语句
与 if...else 配合使用,在若干条件之一成立时执行一个代码块 If...Else 语句
如果您希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if....else 语句。
语法
if (condition) code to be executed if condition is true; else code to be executed if condition is false;
实例
如果当前日期是周五,下面的代码将输出 "Have a nice weekend!",否则会输出 "Have a nice day!":
<html> <body> <?php $d=date("D"); if ($d=="Fri") echo "Have a nice weekend!"; else echo "Have a nice day!"; ?> </body> </html>
如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中:
<html> <body> <?php $d=date("D"); if ($d=="Fri") { echo "Hello!<br />"; echo "Have a nice weekend!"; echo "See you on Monday!"; } ?> </body> </html>
ElseIf 语句
如果希望在多个条件之一成立时执行代码,请使用 elseif 语句:
语法
if (condition) code to be executed if condition is true; elseif (condition) code to be executed if condition is true; else code to be executed if condition is false;
实例
如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":
<html> <body> <?php $d=date("D"); if ($d=="Fri") echo "Have a nice weekend!"; elseif ($d=="Sun") echo "Have a nice Sunday!"; else echo "Have a nice day!"; ?> </body> </html>
PHP Switch 语句
PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作。
Switch 语句
如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: code to be executed if expression is different from both label1 and label2; }
实例
工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中 case 的值进行比较
如果存在匹配,则执行与 case 关联的代码
代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
如果没有 case 为真,则使用 default 语句
<?php switch ($x) { case 1: echo "Number 1"; break; case 2: echo "Number 2"; break; case 3: echo "Number 3"; break; default: echo "No number between 1 and 3"; } ?> </body> </html>
PHP 数组
数组能够在单独的变量名中存储一个或多个值。
什么是数组?
在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。
无需很多相似的变量,你可以把数据作为元素存储在数组中。
数组中的元素都有自己的 ID,因此可以方便地访问它们。
有三种数组类型:
数值数组
带有数字 ID 键的数组
关联数组
数组中的每个 ID 键关联一个值
多维数组
包含一个或多个数组的数组 数值数组
数值数组存储的每个元素都带有一个数字 ID 键。
可以使用不同的方法来创建数值数组:
例子 1
在这个例子中,会自动分配 ID 键:
$names = array("Peter","Quagmire","Joe");例子 2
在这个例子中,我们人工分配的 ID 键:
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
可以在脚本中使用这些 ID 键:
<?php $names[0] = "Peter"; $names[1] = "Quagmire"; $names[2] = "Joe"; echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors"; ?>
以上代码的输出:
Quagmire and Joe are Peter's neighbors关联数组
关联数组,它的每个 ID 键都关联一个值。
在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。
通过关联数组,我们可以把值作为键,并向它们赋值。
例子 1
在本例中,我们使用一个数组把年龄分配给不同的人:
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);例子 2
本例与例子 1 相同,不过展示了另一种创建数组的方法:
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
可以在脚本中使用 ID 键:
<?php $ages['Peter'] = "32"; $ages['Quagmire'] = "30"; $ages['Joe'] = "34"; echo "Peter is " . $ages['Peter'] . " years old."; ?>
以上脚本的输出:
Peter is 32 years old.多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。
例子 1
在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:
$families = array ( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ), "Brown"=>array ( "Cleveland", "Loretta", "Junior" ) );
如果输出这个数组的话,应该类似这样:
Array ( [Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan ) [Quagmire] => Array ( [0] => Glenn ) [Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ) )
例子 2
让我们试着显示上面的数组中的一个单一的值:
echo "Is " . $families['Griffin'][2] .
" a part of the Griffin family?";
以上代码的输出:
Is Megan a part of the Griffin family?
PHP 循环
PHP 中的循环语句用于执行相同的代码块指定的次数。
循环
在您编写代码时,您经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。
在 PHP 中,我们可以使用下列循环语句:
while
只要指定的条件成立,则循环执行代码块
do...while
首先执行一次代码块,然后在指定的条件成立时重复这个循环
for
循环执行代码块指定的次数
foreach
根据数组中每个元素来循环代码块 while 语句
只要指定的条件成立,while 语句将重复执行代码块。
语法
while (condition)
code to be executed;例子
下面的例子示范了一个循环,只要变量 i 小于或等于 5,代码就会一直循环执行下去。循环每循环一次,变量就会递增 1:
<html> <body> <?php $i=1; while($i<=5) { echo "The number is " . $i . "<br />"; $i++; } ?> </body> </html>
do...while 语句
do...while 语句会至少执行一次代码 - 然后,只要条件成立,就会重复进行循环。
语法
do { code to be executed; } while (condition);
例子
下面的例子将对 i 的值进行一次累加,然后,只要 i 小于 5 的条件成立,就会继续累加下去:
<html> <body> <?php $i=0; do { $i++; echo "The number is " . $i . "<br />"; } while ($i<5); ?> </body> </html>
for 语句
如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。
语法
for (initialization; condition; increment) { code to be executed; }
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
例子
下面的例子会把文本 "Hello World!" 显示 5 次:
<html> <body> <?php for ($i=1; $i<=5; $i++) { echo "Hello World!<br />"; } ?> </body> </html>
foreach 语句
foreach 语句用于循环遍历数组。
每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。
语法
foreach (array as value) { code to be executed; }
例子
下面的例子示范了一个循环,这个循环可以输出给定数组的值:
<html> <body> <?php $arr=array("one", "two", "three"); foreach ($arr as $value) { echo "Value: " . $value . "<br />"; } ?> </body> </html>
PHP 函数
PHP 的真正威力源自于它的函数。
在 PHP 中,提供了超过 700 个内建的函数。
PHP 函数
在本教程中,我们将为您讲解如何创建自己的函数。
如需内建函数的参考和实例,请访问我们的 PHP 参考手册。
创建 PHP 函数
函数是一种可以在任何被需要的时候执行的代码块。
创建 PHP 函数:
所有的函数都使用关键词 "function()" 来开始
命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
添加 "{" - 开口的花括号之后的部分是函数的代码。
插入函数代码
添加一个 "}" - 函数通过关闭花括号来结束。
例子
一个简单的函数,在其被调用时能输出我的名称的:
<html> <body> <?php function writeMyName() { echo "David Yang"; } writeMyName(); ?> </body> </html>
使用 PHP 函数
现在,我们要在 PHP 脚本中使用这个函数了:
<html> <body> <?php function writeMyName() { echo "David Yang"; } echo "Hello world!<br />"; echo "My name is "; writeMyName(); echo ".<br />That's right, "; writeMyName(); echo " is my name."; ?> </body> </html>
以上代码的输出:
Hello world!
My name is David Yang.
That's right, David Yang is my name.
PHP 函数 - 添加参数
我们的第一个函数是一个非常简单的函数。它只能输出一个静态的字符串。
通过可以添加参数,我们向函数添加更多的功能。参数类似一个变量。
您可能注意到了,函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。
例子 1
下面的例子讲输出不同的名字,但姓是相同的:
<html> <body> <?php function writeMyName($fname) { echo $fname . " Yang.<br />"; } echo "My name is "; writeMyName("David"); echo "My name is "; writeMyName("Mike"); echo "My name is "; writeMyName("John"); ?> </body> </html>
上面的代码的输出:
My name is David Yang.
My name is Mike Yang.
My name is John Yang.
例子 2
下面的函数有两个参数:
<html> <body> <?php function writeMyName($fname,$punctuation) { echo $fname . " Yang" . $punctuation . "<br />"; } echo "My name is "; writeMyName("David","."); echo "My name is "; writeMyName("Mike","!"); echo "My name is "; writeMyName("John","..."); ?> </body> </html>
上面的代码的输出:
My name is David Yang.
My name is Mike Yang!
My name is John Yang...
PHP 函数 - 返回值
函数也能用于返回值。
例子
<html> <body> <?php function add($x,$y) { $total = $x + $y; return $total; } echo "1 + 16 = " . add(1,16); ?> </body> </html>
以上代码的输出:
1 + 16 = 17
PHP 表单和用户输入
PHP 的 $_GET 和 $_POST 用于检索表单中的值,比如用户输入。
PHP 表单处理
表单实例:
<html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "welcome.php" 这个文件。
"welcome.php" 文件类似这样:
<html> <body> Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old. </body> </html>
上面这个脚本的输出样本类似这样:
Welcome John.
You are 28 years old.
我们将在下一章解释 PHP $_GET 和 $_POST。
表单验证
应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。
不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。
在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。
PHP $_GET
$_GET 变量用于收集来自 method="get" 的表单中的值。
$_GET 变量
$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。
$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
例子
<form action="welcome.php" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form>
当用户点击提交按钮时,发送的 URL 会类似这样:
http://www.w3school.com.cn/welcome.php?name=Peter&age=37"welcome.php" 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键):
Welcome <?php echo $_GET["name"]; ?>.<br /> You are <?php echo $_GET["age"]; ?> years old!
为什么使用 $_GET?
注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。
$_REQUEST 变量
PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
Welcome <?php echo $_REQUEST["name"]; ?>.<br /> You are <?php echo $_REQUEST["age"]; ?> years old!
PHP $_POST
$_POST 变量用于收集来自 method="post" 的表单中的值。
$_POST 变量
$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
$_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
例子
<form action="welcome.php" method="post"> Enter your name: <input type="text" name="name" /> Enter your age: <input type="text" name="age" /> <input type="submit" /> </form>
当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:
http://www.w3school.com.cn/welcome.php"welcome.php" 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键):
Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old!
为什么使用 $_POST?
通过 HTTP POST 发送的变量不会显示在 URL 中。
变量没有长度限制。
不过,由于变量不显示在 URL 中,所有无法把页面加入书签。
$_REQUEST 变量
PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
Welcome <?php echo $_REQUEST["name"]; ?>.<br /> You are <?php echo $_REQUEST["age"]; ?> years old!
发表评论
-
php 报表开发
2011-10-29 02:21 4516 什么是报表 报表( 报: 报告 表: 表格 图表) ... -
php使用excel_class.php操作Excel文件
2011-05-11 15:53 2672<?php //header("Cont ... -
信息采集
2011-03-18 13:47 1041php支持多种远程文件复制,拷贝方法,常用有fsockop ... -
正则表达式
2011-03-12 09:37 10091、正则i,s,m,g 这些是模 ... -
PHP 和 AJAX
2011-01-07 09:22 790AJAX 简介 AJAX = Asynchronous ... -
PHP XML
2011-01-06 15:59 968PHP XML PHP XML Expat 解析器 ... -
PHP 数据库
2011-01-06 15:15 921PHP MySQL 简介 MySQL 是最流行的开源数据库服务 ... -
PHP 高级
2011-01-06 13:26 1295PHP Date() PHP 的 date() 函数用于格式化 ... -
电子邮件开发
2010-12-24 15:19 977<?php //发送邮件的类 class Smt ... -
电子商务网站支付接口应用
2010-12-03 10:32 1289支付宝纯担保 支付宝(接口网站:www.alipay.com ... -
PHP_方法_PHP添加水印方法
2010-10-06 14:38 2606简介摘要:功能:PHP图 ... -
PHP+jQuery上传图片并对已上载的图片进行裁切
2010-09-09 08:37 3052PHP+jQuery上传图片并对已上载的图片进行裁 ... -
Smarty框架安装使用实例
2010-09-04 08:11 1847ThinkPHP是一个性 ... -
php 代码实现导入导出 mysql数据库
2010-08-02 09:59 1607之前一直是手工导入导出数据库,在服务器端或者客户端备份还 ... -
PHP通用分页程序
2010-01-09 19:57 1750我在一些PHP论坛上经常看到不少PHP初学者对于PHP分页很头 ... -
php配置安装
2010-01-03 14:04 1421我写过的教程不多,而 ...
相关推荐
PHP 基础实例 在HTML中嵌入PHP 使用 PHP 标记 PHP 语句 使用 PHP 注释 PHP 语句间的空格问题 添加动态内容 使用 PHP 函数 PHP nl2br()格式化输出 PHP 打印格式化输出 PHP 字符串的整理 PHP 改变字符串中字母的大小写...
PHP基础教程.pdf 提供了关于PHP的基础知识,包括什么是PHP、PHP的特点、为什么要使用PHP、PHP文件的特点、基本的PHP语法等。 首先,让我们来了解什么是PHP。PHP指的是超文本预处理器(Hypertext Preprocessor),是...
PHP(Hypertext Preprocessor,超文本预处理器)是...以上是PHP基础知识的概述,深入学习和实践这些概念将为Web开发打下坚实基础。通过不断学习和实践,你可以创建动态网站、Web应用以及API,从而在IT行业中取得成功。
【PHP基础】是编程世界中的一个重要领域,尤其对于初学者来说,掌握PHP基础知识是成为Web开发者的必备步骤。"传智播客php基础班可见"的标题表明这是一份专门针对初学者的教学资源,旨在帮助学习者理解并掌握PHP语言...
在PHP基础知识部分,我们注意到: 1. PHP代码以`<?php`开始,`?>`结束。 2. 语句以分号`;`结束。 3. 输出数据使用echo或print,其中echo略快且无返回值。 4. 变量以$开头,无需预先声明,是弱类型语言。 5. $_GET、$...
**PHP基础概述** PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其适用于Web开发,可嵌入到HTML中。它最初由Rasmus Lerdorf于1995年创建,现在由PHP开发团队维护。PHP支持多种...
《PHP基础教程》是一本专为初学者设计的入门教材,旨在帮助读者快速掌握PHP编程语言的基本概念和技能。PHP,全称为“Hypertext Preprocessor”(超文本预处理器),是一种广泛应用于Web开发的开源脚本语言。它嵌入在...
**PHP基础** PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域中被广泛应用。它的语法吸收了C语言、Java和Perl的特点,易于学习,同时又具有丰富的功能,使得PHP...
**Ajax与PHP基础教程概述** 本教程主要针对初学者,旨在深入浅出地介绍Ajax(Asynchronous JavaScript and XML)和PHP(Hypertext Preprocessor)这两种技术的基础知识及其结合使用的方式。Ajax是一种在无需刷新...
【PHP基础知识代码下载】是一个关于学习PHP编程基础的资源包,包含了源码和相关工具,适合初学者或者希望巩固PHP基础知识的开发者。这个资源包可能包括了基础的PHP语法示例、常见函数的运用、简单项目的实现代码以及...
【PHP基础教程源码解析】 在学习PHP编程的过程中,源码是最佳的实践材料,它可以帮助我们深入理解语言的工作原理。本教程将围绕"PHP基础教程源码"展开,涵盖多个核心主题,如伪静态、变量、字符串处理、框架应用...
《PHP基础教程 第4版》是一本专门为初学者设计的PHP编程教材,由Larry Ullman撰写。本书以其清晰易懂的语言和丰富的实例,旨在帮助读者快速掌握PHP编程的基础知识和技能。 PHP(Hypertext Preprocessor)是一种广泛...
**Ajax与PHP基础教程** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器交换数据并更新部分网页内容,提升了用户体验,使得网页更具交互...
《PHP基础教程第四版》是由Larry Ullman撰写的一本权威性的PHP学习指南,它深入浅出地介绍了PHP编程的基础知识。本教程源码包含了作者为讲解各种概念和技巧而编写的实例代码,这些代码存储在名为"phpvqs4_scripts"的...
这份"PHP基础教程的详细PPT讲解"包含了70讲的内容,旨在为初学者提供全面而深入的学习路径,帮助他们从零开始掌握PHP编程。 在PHP的基础教程中,你将学习到以下关键知识点: 1. **PHP简介**:了解PHP的历史、特点...
让我们详细探讨一下这个压缩包中可能包含的PHP基础知识点。 首先,我们看到一个名为`css.css`的文件,这通常是一个CSS(Cascading Style Sheets)文件,用于定义网页的样式和布局。在PHP项目中,CSS用于分离内容和...
...它最初由Rasmus Lerdorf于1995年创建,经过多次版本...以上就是PHP基础和环境搭建的基本内容,包括PHP的定义、特点,以及如何配置基于Apache的PHP运行环境。了解这些知识,将为PHP的进一步学习和开发打下坚实的基础。
实验名称:PHP基础实验 实验目标: 1. 学习并掌握PHP语言的基本语法,包括数据类型、变量、常量、运算符以及表达式。 2. 学习PHP的流程控制结构,如条件判断和循环。 3. 掌握在HTML中嵌入PHP代码的方法,实现PHP与...
php基础教程-绝对推荐-吐血推荐。入门最好的学习文档。