1、PHP 简介
PHP 脚本在服务器上执行。
在学习php之前,需要对下面的知识有基本的了解:
1.1 什么是 PHP?
1.2 PHP 是一门令人惊叹的流行语言!
1.3 什么是 PHP 文件?
1.4 PHP 能够做什么?
通过 PHP,可以不受限于只输出 HTML。您还能够输出图像、PDF 文件、甚至 Flash 影片。您也可以输出任何文本,比如 XHTML 和 XML。
1.5 为什么使用 PHP?
PHP 运行于各种平台(Windows, Linux, Unix, Mac OS X 等等)
PHP 兼容几乎所有服务器(Apache, IIS 等等)
PHP 支持多种数据库
PHP 是免费的。
PHP 易于学习,并可高效地运行在服务器端
1.6 PHP 安装
官方的 PHP 网站 (PHP.net) 提供了 PHP 的安装说明:http://php.net/manual/zh/install.php
2、PHP 语法
PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。
2.1 基础 PHP 语法
PHP 脚本可放置于文档中的任何位置。
PHP 脚本以 <?php 开头,以?> 结尾:
<span style= "font-size: 14px;" ><?php // 此处是 PHP 代码?><br></span>
|
PHP 文件的默认文件扩展名是 ".php"。
PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。
下面的例子是一个简单的 PHP 文件,其中包含了使用内建 PHP 函数 "echo" 在网页上输出文本 "Hello World!" 的一段 PHP 脚本:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><h1>我的第一张 PHP 页面</h1><br><br><?php<br> echo "Hello World!" ;<br>?><br><br></body><br></html><br></span>
|
运行结果:
我的第一张 PHP 页面
Hello World!
注释:PHP 语句以分号结尾(;)。PHP 代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号)。
2.2 PHP 中的注释
PHP 代码中的注释不会被作为程序来读取和执行。它唯一的作用是供代码编辑者阅读。
注释用于:
PHP 支持三种注释:
实例
<span style=
"font-size: 14px;"
><!DOCTYPE html><br><html><br><body><br><br><?php<br>
// 这是单行注释<br><br># 这也是单行注释<br><br>/*<br>这是多行注释块<br>它横跨了<br>多行<br>*/<br>?><br><br></body><br></html></span>
2.3 PHP 大小写敏感
在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
在下面的例子中,所有这三天 echo 语句都是合法的(等价):
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> ECHO "Hello World!<br>" ;<br> echo "Hello World!<br>" ;<br> EcHo "Hello World!<br>" ;<br>?><br><br></body><br></html></span>
|
运行结果:
Hello World!
Hello World!
Hello World!
不过在 PHP 中,所有变量都对大小写敏感。
在下面的例子中,只有第一条语句会显示 $color 变量的值(这是因为 $color、$COLOR 以及 $coLOR 被视作三个不同的变量):
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $color = "red" ;<br> echo "My car is " . $color . "<br>" ;<br> echo "My house is " . $COLOR . "<br>" ;<br> echo "My boat is " . $coLOR . "<br>" ;<br>?><br><br></body><br></html><br></span>
|
运行结果
My car is red
My house is
My boat is
3、PHP 变量
变量是存储信息的容器:
实例
<span style= "font-size: 14px;" ><?php<br> $x =5;<br> $y =6;<br> $z = $x + $y ;<br> echo $z ;<br>?><br></span>
|
运行结果:
11
3.1 类似代数
<span style= "font-size: 14px;" >x=5<br>y=6<br>z=x+y</span>
|
在代数中我们使用字母(比如 x)来保存值(比如 5)。
从上面的表达式 z=x+y,我们能够计算出 z 的值是 11。
在 PHP 中,这三个字母被称为变量。
注释:请把变量视为存储数据的容器。
3.2 PHP 变量
正如代数,PHP 变量可用于保存值(x=5)和表达式(z=x+y)。
变量的名称可以很短(比如 x 和 y),也可以取更具描述性的名称(比如 carname、total_volume)。
PHP 变量规则:
注释:PHP 变量名称对大小写敏感!
3.3 创建 PHP 变量
PHP 没有创建变量的命令。
变量会在首次为其赋值时被创建:
实例
<span style= "font-size: 14px;" ><?php<br> $txt = "Hello world!" ;<br> $x =5;<br> $y =10.5;<br>?></span>
|
以上语句执行后,变量 txt 会保存值 Hello world!,变量 x 会保存值 5,变量 y 会保存值 10.5。
注释:如果您为变量赋的值是文本,请用引号包围该值。
3.4 PHP 是一门类型松散的语言
在上面的例子中,请注意我们不必告知 PHP 变量的数据类型。
PHP 根据它的值,自动把变量转换为正确的数据类型。
在诸如 C 和 C++ 以及 Java 之类的语言中,程序员必须在使用变量之前声明它的名称和类型。
3.5 PHP 变量作用域
在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:
local(局部)
global(全局)
static(静态)
3.5.1 Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
下面的例子测试了带有局部和全局作用域的变量:
实例
<span style= "font-size: 14px;" ><?php<br> $x =5; // 全局作用域function myTest() {<br> $y=10; // 局部作用域<br> echo "<p>测试函数内部的变量:</p>";<br> echo "变量 x 是:$x";<br> echo "<br>";<br> echo "变量 y 是:$x";<br>} <br><br>myTest();<br><br>echo "<p>测试函数之外的变量:</p>";<br>echo "变量 x 是:$x";<br>echo "<br>";<br>echo "变量 y 是:$x";<br>?></span>
|
在上例中,有两个变量 $x 和 $y,以及一个函数 myTest()。$x 是全局变量,因为它是在函数之外声明的,而 $y 是局部变量,因为它是在函数内声明的。
如果我们在 myTest() 函数内部输出两个变量的值,$y 会输出在本地声明的值,但是无法 $x 的值,因为它在函数之外创建。
然后,如果在 myTest() 函数之外输出两个变量的值,那么会输出 $x 的值,但是不会输出 $y 的值,因为它是局部变量,并且在 myTest() 内部创建。
注释:您可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。
3.5.2 PHP global 关键词
global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:
实例
<span style= "font-size: 14px;" ><?php<br> $x =5;<br> $y =10;<br><br> function myTest() {<br> global $x , $y ;<br> $y = $x + $y ;<br>}<br><br>myTest();<br> echo $y ; // 输出 15?><br></span>
|
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
上面的例子可以这样重写:
实例
<span style= "font-size: 14px;" ><?php<br> $x =5;<br> $y =10;<br><br> function myTest() {<br> $GLOBALS [ ‘y‘ ]= $GLOBALS [ ‘x‘ ]+ $GLOBALS [ ‘y‘ ];<br>} <br><br>myTest();<br> echo $y ; // 输出 15?></span>
|
3.5.3 PHP static 关键词
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 static 关键词:
实例
<span style= "font-size: 14px;" ><?php<br><br> function myTest() {<br> static $x =0;<br> echo $x ;<br> $x ++;<br>}<br><br>myTest();<br>myTest();<br>myTest();<br><br>?><br></span>
|
然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。
注释:该变量仍然是函数的局部变量。
4、PHP 5 echo 和 print 语句
在 PHP 中,有两种基本的输出方法:echo 和 print。
4.1 PHP echo 和 print 语句差异
echo 和 print 之间的差异:
提示:echo 比 print 稍快,因为它不返回任何值。
4.2 PHP echo 语句
echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
显示字符串
下面的例子展示如何用 echo 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<span style= "font-size: 14px;" ><?php<br> echo "<h2>PHP is fun!</h2>" ;<br> echo "Hello world!<br>" ;<br> echo "I‘m about to learn PHP!<br>" ;<br> echo "This" , " string" , " was" , " made" , " with multiple parameters." ;<br>?><br></span>
|
显示变量
下面的例子展示如何用 echo 命令来显示字符串和变量:
<span style= "font-size: 14px;" ><?php<br> $txt1 = "Learn PHP" ;<br> $txt2 = "W3School.com.cn" ;<br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br><br> echo $txt1 ;<br> echo "<br>" ;<br> echo "Study PHP at $txt2" ;<br> echo "My car is a {$cars[0]}" ;<br>?><br></span>
|
运行结果
Learn PHP
Study PHP at W3School.com.cn
My car is a Volvo
4.3 PHP print 语句
print 也是语言结构,有无括号均可使用:print 或 print()。
显示字符串
下面的例子展示如何用 print 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<span style= "font-size: 14px;" ><?php<br> print "<h2>PHP is fun!</h2>" ;<br> print "Hello world!<br>" ;<br> print "I‘m about to learn PHP!" ;<br>?><br></span>
|
运行结果:
PHP is fun!
Hello world!
I‘m about to learn PHP!
显示变量
下面的例子展示如何用 print 命令来显示字符串和变量:
<span style= "font-size: 14px;" ><?php<br> $txt1 = "Learn PHP" ;<br> $txt2 = "W3School.com.cn" ;<br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br><br> print $txt1 ;<br> print "<br>" ;<br> print "Study PHP at $txt2" ;<br> print "My car is a {$cars[0]}" ;<br>?><br></span>
|
运行结果:
Learn PHP
Study PHP at W3School.com.cn
My car is a Volvo
5、PHP 数据类型
字符串、整数、浮点数、逻辑、数组、对象、NULL。
5.1 PHP 字符串
字符串是字符序列,比如 "Hello world!"。
字符串可以是引号内的任何文本。您可以使用单引号或双引号:
实例
<span style= "font-size: 14px;" ><?php <br> $x = "Hello world!" ;<br> echo $x ;<br> echo "<br>" ; <br> $x = ‘Hello world!‘ ;<br> echo $x ;<br>?><br></span>
|
5.2 PHP 整数
整数是没有小数的数字。
整数规则:
在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:
实例
<span style= "font-size: 14px;" ><?php <br> $x = 5985;<br>var_dump( $x );<br> echo "<br>" ; <br> $x = -345; // 负数var_dump($x);<br>echo "<br>"; <br>$x = 0x8C; // 十六进制数var_dump($x);<br>echo "<br>";<br>$x = 047; // 八进制数var_dump($x);<br>?><br></span>
|
运行结果:
int(5985)
int(-345)
int(140)
int(39)
5.3 PHP 浮点数
浮点数是有小数点或指数形式的数字。
PHP var_dump() 会返回变量的数据类型和值:
实例
<span style= "font-size: 14px;" ><?php <br> $x = 10.365;<br>var_dump( $x );<br> echo "<br>" ; <br> $x = 2.4e3;<br>var_dump( $x );<br> echo "<br>" ; <br> $x = 8E-5;<br>var_dump( $x );<br>?><br></span>
|
运行结果:
float(10.365)
float(2400)
float(8.0E-5)
5.4 PHP 逻辑
逻辑是 true 或 false。
<span style= "font-size: 14px;" > $x =true;<br> $y =false;<br></span>
|
逻辑常用于条件测试。
5.5 PHP 数组
数组在一个变量中存储多个值。
在下面的例子中,我们将测试不同的数组。PHP var_dump() 会返回变量的数据类型和值:
实例
<span style= "font-size: 14px;" ><?php <br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br>var_dump( $cars );<br>?><br></span>
|
运行结果:
array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }
5.6 PHP 对象
对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
实例
<span style= "font-size: 14px;" ><?php<br> class Car<br>{<br> var $color ;<br> function Car( $color = "green" ) {<br> $this ->color = $color ;<br> }<br> function what_color() {<br> return $this ->color;<br> }<br>}<br>?><br></span>
|
5.7 PHP NULL 值
特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
可以通过把值设置为 NULL,将变量清空:
实例
<span style= "font-size: 14px;" ><?php<br> $x = "Hello world!" ;<br> $x =null;<br>var_dump( $x );<br>?></span>
|
6、PHP 字符串函数
字符串是字符序列,比如 "Hello world!"。
6.1 PHP strlen() 函数
strlen() 函数返回字符串的长度,以字符计。
下例返回字符串 "Hello world!" 的长度:
实例
<span style= "font-size: 14px;" ><?php<br> echo strlen ( "Hello world!" );<br>?></span>
|
以上代码的输出是:12
提示:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时。(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)。
6.2 PHP strpos() 函数
strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
下例检索字符串 "Hello world!" 中的文本 "world":
实例
<span style= "font-size: 14px;" ><?php<br> echo strpos ( "Hello world!" , "world" );<br>?><br></span>
|
以上代码的输出是:6。
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
7、PHP 常量
常量类似变量,但是常量一旦被定义就无法更改或撤销定义。
7.1 PHP 常量
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
7.2 设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
实例
<span style= "font-size: 14px;" > <!DOCTYPE html><br><html><br><body><br><br><?php<br> // 定义对大小写敏感的常量<br>define("GREETING", "Welcome to W3School.com.cn!");<br>echo GREETING;<br>echo "<br>";<br>// 不会输出常量的值<br>echo greeting;<br>?> <br><br></body><br></html><br></span>
|
运行结果:
Welcome to W3School.com.cn!
greeting
下例创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":
实例
<span style= "font-size: 14px;" > <!DOCTYPE html><br><html><br><body><br><br><?php<br> // 定义对大小写不敏感的常量<br>define("GREETING", "Welcome to W3School.com.cn!", true);<br>echo GREETING;<br>echo "<br>";<br>// 会输出常量的值<br>echo greeting;<br>?> <br><br></body><br></html><br></span>
|
运行结果:
Welcome to W3School.com.cn!
Welcome to W3School.com.cn!
8、PHP 运算符
下面介绍可用于 PHP 脚本中的各种运算符.
8.1 PHP 算数运算符
php算数运算符
运算符 | 名称 | 例子 | 结果 |
+ | 加法 | $x + $y | $x与$y求和 |
- | 减法 | $x - $y | $x与$y待的差数 |
* | 乘法 | $x * $y | $x与$y的乘积 |
/ | 除法 | $x / $y | $x与$y的商数 |
% | 模数 | $x % $y | $x与$y的余数 |
下例展示了使用不同算数运算符的不同结果:
实例
<span style= "font-size: 14px;" ><?php <br> $x =10; <br> $y =6;<br> echo ( $x + $y ); // 输出 16echo ($x - $y); // 输出 4echo ($x * $y); // 输出 60echo ($x / $y); // 输出 1.6666666666667echo ($x % $y); // 输出 4?><br></span>
|
8.2 PHP 赋值运算符
PHP 赋值运算符用于向变量写值。
PHP 中基础的赋值运算符是 "="。这意味着右侧赋值表达式会为左侧运算数设置值。
PHP 赋值运算符 赋值 | 等同于 | 描述 |
x = y | x = y | 右侧表达式为左侧运算数设置 |
x += y | x = x + y | 加 |
x -= y | x = x - y | 减 |
x *= y | x = x * y | 乘 |
x /= y | x = x / y | 除 |
x %= y | x = x % y | 模数 |
下例展示了使用不同赋值运算符的不同结果:
实例
<span style= "font-size: 14px;" ><?php <br> $x =10; <br> echo $x ; // 输出 10$y=20; <br>$y += 100;<br>echo $y; // 输出 120$z=50;<br>$z -= 25;<br>echo $z; // 输出 25$i=5;<br>$i *= 6;<br>echo $i; // 输出 30$j=10;<br>$j /= 5;<br>echo $j; // 输出 2$k=15;<br>$k %= 4;<br>echo $k; // 输出 3?><br></span>
|
8.3 PHP 字符串运算符
PHP 字符串运算符 运算符 | 名称 | 例子 | 结果 |
. | 串接 | $txt1 = "Hello" $txt2 = $txt1 . " world!" | 现在 $txt2 包含 "Hello world!" |
.= | 串接赋值 | $txt1 = "Hello" $txt1 .= " world!" | 现在 $txt1 包含 "Hello world!" |
下例展示了使用字符串运算符的结果:
实例
<span style= "font-size: 14px;" ><?php<br> $a = "Hello" ;<br> $b = $a . " world!" ;<br> echo $b ; // 输出 Hello world!$x="Hello";<br>$x .= " world!";<br>echo $x; // 输出 Hello world!?><br></span>
|
8.4 PHP 递增/递减运算符
PHP 递增/递减运算符 运算符 | 名称 | 描述 |
++$x | 前递增 | $x 加一递增,然后返回 $x |
$x++ | 后递增 | 返回 $x,然后 $x 加一递增 |
--$x | 前递减 | $x 减一递减,然后返回 $x |
$x-- | 后递减 | 返回 $x,然后 $x 减一递减 |
下例展示了使用不同递增/递减运算符的不同结果:
实例
<span style= "font-size: 14px;" ><?php<br> $x =10; <br> echo ++ $x ; // 输出 11$y=10; <br>echo $y++; // 输出 10$z=5;<br>echo --$z; // 输出 4$i=5;<br>echo $i--; // 输出 5?><br></span>
|
8.5 PHP 比较运算符
PHP 比较运算符用于比较两个值(数字或字符串):
PHP 比较运算符 运算符 | 名称 | 例子 | 结果 |
== | 等于 | $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。 |
> | 大于 | $x > $y | 如果 $x 大于 $y,则返回 true。 |
< | 小于 | $x < $y | 如果 $x 小于 $y,则返回 true。 |
>= | 大于或等于 | $x >= $y | 如果 $x 大于或者等于 $y,则返回 true. |
<= | 小于或等于 | $x <= $y | 如果 $x 小于或者等于 $y,则返回 true |
下例展示了使用某些比较运算符的不同结果:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $x =100; <br> $y = "100" ;<br><br>var_dump( $x == $y ); // 因为值相等,返回 true<br>echo "<br>";<br>var_dump($x === $y); // 因为类型不相等,返回 false<br>echo "<br>";<br>var_dump($x != $y); // 因为值相等,返回 false<br>echo "<br>";<br>var_dump($x !== $y); // 因为值不相等,返回 true<br>echo "<br>";<br><br>$a=50;<br>$b=90;<br><br>var_dump($a > $b);<br>echo "<br>";<br>var_dump($a < $b);<br>?> <br><br></body><br></html><br></span>
|
8.6 PHP 逻辑运算符
PHP 逻辑运算符 运算符 | 名称 | 例子 | 结果 |
and | 与 | $x and $y | 如果 $x 和 $y 都为 true,则返回 true。 |
or | 或 | $x or $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
xor | 异或 | $x xor $y | 如果 $x 和 $y 有且仅有一个为 true,则返回 true。 |
&& | 与 | $x && $y | 如果 $x 和 $y 都为 true,则返回 true。 |
|| | 或 | $x || $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
! | 非 | !$x | 如果 $x 不为 true,则返回 true。 |
8.7 PHP 数组运算符
PHP 数组运算符用于比较数组:
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。 |
下例展示了使用不同数组运算符的不同结果:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $x = array ( "a" => "red" , "b" => "green" ); <br> $y = array ( "c" => "blue" , "d" => "yellow" ); <br> $z = $x + $y ; // $x 与 $y 的联合<br>var_dump($z);<br>echo "<br>";<br>var_dump($x == $y);<br>echo "<br>";<br>var_dump($x === $y);<br>echo "<br>";<br>var_dump($x != $y);<br>echo "<br>";<br>var_dump($x <> $y);<br>echo "<br>";<br>var_dump($x !== $y);<br>?> <br><br></body><br></html><br></span>
|
运行结果:
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)
9、PHP if...else...elseif 语句
条件语句用于基于不同条件执行不同的动作
9.1 PHP 条件语句
在您编写代码时,经常会希望为不同的决定执行不同的动作。您可以在代码中使用条件语句来实现这一点。
在 PHP 中,我们可以使用以下条件语句:
9.2 PHP - if 语句
if 语句用于在指定条件为 true 时执行代码。
语法
<span style= "font-size: 14px;" > if (条件) {<br> 当条件为 true 时执行的代码;<br>}<br></span>
|
下例将输出 "Have a good day!",如果当前时间 (HOUR) 小于 20:
实例
<span style= "font-size: 14px;" ><?php<br> $t = date ( "H" );<br><br> if ( $t < "20" ) {<br> echo "Have a good day!" ;<br>}<br>?><br></span>
|
9.3 PHP - if...else 语句
请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行另一段代码。
语法
<span style= "font-size: 14px;" > if (条件) {<br> 条件为 true 时执行的代码;<br>} else {<br> 条件为 false 时执行的代码;<br>}<br></span>
|
下例将输出 "Have a good day!",如果当前时间 (HOUR) 小于 20,否则输出 "Have a good night!":
实例
<span style= "font-size: 14px;" ><?php<br> $t = date ( "H" );<br><br> if ( $t < "20" ) {<br> echo "Have a good day!" ;<br>} else {<br> echo "Have a good night!" ;<br>}<br>?><br></span>
|
9.4 PHP - if...elseif....else 语句
请使用 if....elseif...else 语句来选择若干代码块之一来执行。
语法
<span style= "font-size: 14px;" > if (条件) {<br> 条件为 true 时执行的代码;<br>} elseif (condition) {<br> 条件为 true 时执行的代码;<br>} else {<br> 条件为 false 时执行的代码;<br>}<br></span>
|
下例将输出 "Have a good morning!",如果当前时间 (HOUR) 小于 10,如果当前时间小于 20,则输出 "Have a good day!"。否则将输出 "Have a good night!":
实例
<span style= "font-size: 14px;" ><?php<br> $t = date ( "H" );<br><br> if ( $t < "10" ) {<br> echo "Have a good morning!" ;<br>} elseif ( $t < "20" ) {<br> echo "Have a good day!" ;<br>} else {<br> echo "Have a good night!" ;<br>}<br>?><br></span>
|
9.5 PHP Switch 语句
switch 语句用于基于不同条件执行不同动作。
如果希望有选择地执行若干代码块之一,请使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
<span style= "font-size: 14px;" > switch (expression)<br>{<br> case label1:<br> code to be executed if expression = label1;<br> break ; <br> case label2:<br> code to be executed if expression = label2;<br> break ;<br> default :<br> code to be executed<br> if expression is different <br> from both label1 and label2;<br>}<br></span>
|
工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中 case 的值进行比较
如果存在匹配,则执行与 case 关联的代码
代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
如果没有 case 为真,则使用 default 语句
实例
<span style= "font-size: 14px;" ><?php<br> switch ( $x )<br>{<br> case 1:<br> echo "Number 1" ;<br> break ;<br> case 2:<br> echo "Number 2" ;<br> break ;<br> case 3:<br> echo "Number 3" ;<br> break ;<br> default :<br> echo "No number between 1 and 3" ;<br>}<br>?><br><br></body><br></html><br></span>
|
10、PHP while 循环
PHP while 循环在指定条件为 true 时执行代码块。
10.1 PHP 循环
在编写代码时,经常需要反复运行同一代码块。可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
在 PHP 中,我们有以下循环语句:
10.2 PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。
语法
<span style= "font-size: 14px;" > while (条件为真) {<br> 要执行的代码;<br>}<br></span>
|
下例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
实例
<span style= "font-size: 14px;" ><?php <br> $x =1; <br><br> while ( $x <=5) {<br> echo "这个数字是:$x <br>" ;<br> $x ++;<br>} <br>?><br></span>
|
10.3 PHP do...while 循环
do...while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
<span style= "font-size: 14px;" > do {<br> 要执行的代码;<br>} while (条件为真);<br></span>
|
下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:
实例
<span style= "font-size: 14px;" ><?php <br> $x =1; <br><br> do {<br> echo "这个数字是:$x <br>" ;<br> $x ++;<br>} while ( $x <=5);<br>?><br></span>
|
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把 $x 设置为 6,然后运行循环,随后对条件进行检查:
实例
<span style= "font-size: 14px;" ><?php <br> $x =6;<br><br> do {<br> echo "这个数字是:$x <br>" ;<br> $x ++;<br>} while ( $x <=5);<br>?><br></span>
|
10.4 PHP for 循环
PHP for 循环执行代码块指定的次数。
如果已提前确定脚本运行的次数,可以使用 for 循环。
语法
<span style= "font-size: 14px;" > for (init counter; test counter; increment counter) {<br> code to be executed;<br>}<br></span>
|
参数:
下面的例子显示了从 0 到 10 的数字:
实例
<span style= "font-size: 14px;" ><?php <br> for ( $x =0; $x <=10; $x ++) {<br> echo "数字是:$x <br>" ;<br>} <br>?><br></span>
|
10.5 PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
<span style= "font-size: 14px;" > foreach ( $array as $value ) {<br> code to be executed;<br>}<br></span>
|
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php <br> $colors = array ( "red" , "green" , "blue" , "yellow" ); <br><br> foreach ( $colors as $value ) {<br> echo "$value <br>" ;<br>}<br>?> <br><br></body><br></html><br></span>
|
运行结果:
red
green
blue
yellow
11、PHP 函数
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
11.1 PHP 用户定义函数
除了内建的 PHP 函数,我们可以创建我们自己的函数。
函数是可以在程序中重复使用的语句块。
页面加载时函数不会立即执行。
函数只有在被调用时才会执行。
11.2 在 PHP 创建用户定义函数
用户定义的函数声明以关单 "function" 开头:
语法
<span style= "font-size: 14px;" > function functionName() {<br> 被执行的代码;<br>}<br></span>
|
注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。
在下面的例子中,我们创建名为 "writeMsg()" 的函数。打开的花括号({)指示函数代码的开始,而关闭的花括号(})指示函数的结束。此函数输出 "Hello world!"。如需调用该函数,只要使用函数名即可:
实例
<span style= "font-size: 14px;" ><?php<br> function writeMsg() {<br> echo "Hello world!" ;<br>}<br><br>writeMsg(); // 调用函数?><br></span>
|
11.3 PHP 函数参数
可以通过参数向函数传递信息。参数类似变量。
参数被定义在函数名之后,括号内部。您可以添加任意多参数,只要用逗号隔开即可。
下面的例子中的函数有一个参数($fname)。当调用 familyName() 函数时,我们同时要传递一个名字(例如 Bill),这样会输出不同的名字,但是姓氏相同:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> function familyName( $fname ) {<br> echo "$fname Zhang.<br>" ;<br>}<br><br>familyName( "Li" );<br>familyName( "Hong" );<br>familyName( "Tao" );<br>familyName( "Xiao Mei" );<br>familyName( "Jian" );<br>?><br><br></body><br></html><br></span>
|
运行结果
Li Zhang.
Hong Zhang.
Tao Zhang.
Xiao Mei Zhang.
Jian Zhang.
下面的例子中的函数有两个参数($fname 和 $year):
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> function familyName( $fname , $year ) {<br> echo "$fname Zhang. Born in $year <br>" ;<br>}<br><br>familyName( "Li" , "1975" );<br>familyName( "Hong" , "1978" );<br>familyName( "Tao" , "1983" );<br>?><br><br></body><br></html><br></span>
|
运行结果:
Li Zhang. Born in 1975
Hong Zhang. Born in 1978
Tao Zhang. Born in 1983
11.4 PHP 默认参数值
下面的例子展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:
实例
<span style= "font-size: 14px;" ><?php<br> function setHeight( $minheight =50) {<br> echo "The height is : $minheight <br>" ;<br>}<br><br>setHeight(350);<br>setHeight(); // 将使用默认值 50setHeight(135);<br>setHeight(80);<br>?><br></span>
|
11.5 PHP 函数 - 返回值
如需使函数返回值,请使用 return 语句:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> function sum( $x , $y ) {<br> $z = $x + $y ;<br> return $z ;<br>}<br><br> echo "5 + 10 = " . sum(5,10) . "<br>" ;<br> echo "7 + 13 = " . sum(7,13) . "<br>" ;<br> echo "2 + 4 = " . sum(2,4);<br>?><br><br></body><br></html><br></span>
|
运行结果:
5 + 10 = 15
7 + 13 = 20
2 + 4 = 6
12、PHP 数组
数组能够在单独的变量名中存储一个或多个值。
实例
数组在单个变量中存储多个值:
<span style= "font-size: 14px;" ><?php<br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br> echo "I like " . $cars [0] . ", " . $cars [1] . " and " . $cars [2] . "." ;<br>?><br></span>
|
12.1 什么是数组?
数组是特殊的变量,它可以同时保存一个以上的值。
如果有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的:
<span style= "font-size: 14px;" > $cars1 = "Volvo" ;<br> $cars2 = "BMW" ;<br> $cars3 = "SAAB" ;<br></span>
|
不过,假如希望对变量进行遍历并找出特定的那个值?或者如果需要存储 300 个汽车品牌,而不是 3 个呢?
解决方法是创建数组!
数组能够在单一变量名中存储许多值,并且能够通过引用下标号来访问某个值。
12.2 在 PHP 中创建数组
在 PHP 中, array() 函数用于创建数组:
<span style= "font-size: 14px;" > array ();<br></span>
|
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组
12.3 PHP 索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
<span style= "font-size: 14px;" > $cars = array ( "Volvo" , "BMW" , "SAAB" );<br></span>
|
或者也可以手动分配索引:
<span style= "font-size: 14px;" > $cars [0]= "Volvo" ;<br> $cars [1]= "BMW" ;<br> $cars [2]= "SAAB" ;<br></span>
|
下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $cars = array ( "Volvo" , "BMW" , "SAAB" ); <br> echo "I like " . $cars [0] . ", " . $cars [1] . " and " . $cars [2] . "." ;<br>?><br><br></body><br></html><br></span>
|
运行结果:
I like Volvo, BMW and SAAB.
12.4 获得数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素数):
实例
<span style= "font-size: 14px;" ><?php<br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br> echo count ( $cars );<br>?><br></span>
|
上例输出 3
12.5 遍历索引数组
如需遍历并输出索引数组的所有值,可以使用 for 循环,就像这样:
实例
<span style= "font-size: 14px;" ><?php<br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br> $arrlength = count ( $cars );<br><br> for ( $x =0; $x < $arrlength ; $x ++) {<br> echo $cars [ $x ];<br> echo "<br>" ;<br>}<br>?><br></span>
|
12.6 PHP 关联数组
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
<span style= "font-size: 14px;" > $age = array ( "Peter" => "35" , "Ben" => "37" , "Joe" => "43" );<br></span>
|
或者:
<span style= "font-size: 14px;" > $age [ ‘Peter‘ ]= "35" ;<br> $age [ ‘Ben‘ ]= "37" ;<br> $age [ ‘Joe‘ ]= "43" ;<br></span>
|
随后可以在脚本中使用指定键:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $age = array ( "Bill" => "35" , "Steve" => "37" , "Peter" => "43" );<br> echo "Peter is " . $age [ ‘Peter‘ ] . " years old." ;<br>?><br><br></body><br></html><br></span>
|
以上例子输出:Peter is 43 years old.
12.7 遍历关联数组
如需遍历并输出关联数组的所有值,可以使用 foreach 循环,就像这样:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $age = array ( "Bill" => "35" , "Steve" => "37" , "Peter" => "43" );<br><br> foreach ( $age as $x => $x_value ) {<br> echo "Key=" . $x . ", Value=" . $x_value ;<br> echo "<br>" ;<br>}<br>?><br><br></body><br></html><br></span>
|
运行结果:
Key=Bill, Value=35
Key=Steve, Value=37
Key=Peter, Value=43
12.8 多维数组
在PHP 高级知识中再介绍。
13、PHP 数组排序
数组中的元素能够以字母或数字顺序进行升序或降序排序。
13.1 PHP - 数组的排序函数
PHP 数组排序函数如下 :
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
13.2 对数组进行升序排序 - sort()
下面的例子按照字母升序对数组 $cars 中的元素进行排序:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br>sort( $cars );<br><br> $clength = count ( $cars );<br> for ( $x =0; $x < $clength ; $x ++)<br> {<br> echo $cars [ $x ];<br> echo "<br>" ;<br> }<br>?><br><br></body><br></html><br></span>
|
运行结果:
BMW
SAAB
Volvo
下面的例子按照数字升序对数组 $numbers 中的元素进行排序:
实例
<span style= "font-size: 14px;" ><?php<br> $numbers = array (3,5,1,22,11);<br>sort( $numbers );<br>?><br></span>
|
13.3 对数组进行降序排序 - rsort()
下面的例子按照字母降序对数组 $cars 中的元素进行排序:
实例
<span style= "font-size: 14px;" ><?php<br> $cars = array ( "Volvo" , "BMW" , "SAAB" );<br>rsort( $cars );<br>?><br></span>
|
下面的例子按照数字降序对数组 $numbers 中的元素进行排序:
实例
<span style= "font-size: 14px;" ><?php<br> $numbers = array (3,5,1,22,11);<br>rsort( $numbers );<br>?><br></span>
|
13.4 根据值对数组进行升序排序 - asort()
下面的例子根据值对关联数组进行升序排序:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $age = array ( "Bill" => "35" , "Steve" => "37" , "Peter" => "43" );<br>asort( $age );<br><br> foreach ( $age as $x => $x_value )<br> {<br> echo "Key=" . $x . ", Value=" . $x_value ;<br> echo "<br>" ;<br> }<br>?><br><br></body><br></html><br></span>
|
运行结果:
Key=Bill, Value=35
Key=Steve, Value=37
Key=Peter, Value=43
13.5 根据键对数组进行升序排序 - ksort()
下面的例子根据键对关联数组进行升序排序:
实例
<span style= "font-size: 14px;" ><?php<br> $age = array ( "Bill" => "35" , "Steve" => "37" , "Peter" => "43" );<br>ksort( $age );<br>?><br></span>
|
13.6 根据值对数组进行降序排序 - arsort()
下面的例子根据值对关联数组进行降序排序:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php<br> $age = array ( "Bill" => "35" , "Steve" => "37" , "Peter" => "43" );<br>arsort( $age );<br><br> foreach ( $age as $x => $x_value )<br> {<br> echo "Key=" . $x . ", Value=" . $x_value ;<br> echo "<br>" ;<br> }<br>?><br><br></body><br></html><br></span>
|
运行结果:
Key=Peter, Value=43
Key=Steve, Value=37
Key=Bill, Value=35
13.7 根据键对数组进行降序排序 - krsort()
下面的例子根据键对关联数组进行降序排序:
实例
<span style= "font-size: 14px;" ><?php<br> $age = array ( "Bill" => "35" , "Steve" => "37" , "Peter" => "43" );<br>krsort( $age );<br>?><br></span>
|
14、PHP 全局变量 - 超全局变量
超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。
14.1 PHP 全局变量 - 超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
14.2 $GLOBALS — 引用全局作用域中可用的全部变量
$GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
下面的例子输出95,展示了如何使用超级全局变量 $GLOBALS:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><br><br><?php <br> $x = 30;<br> $y = 65; <br><br> function addition() {<br> $GLOBALS [ ‘z‘ ] = $GLOBALS [ ‘x‘ ] + $GLOBALS [ ‘y‘ ];<br>}<br><br>addition();<br> echo $z ;<br>?><br><br></body><br></html><br></span>
|
在上面的例子中,由于 z 是 $GLOBALS 数组中的变量,因此在函数之外也可以访问它。
14.3 PHP $_SERVER
$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。
下面的例子展示了如何使用 $_SERVER 中的某些元素:
实例
<span style= "font-size: 14px;" ><!DOCTYPE html><br><html><br><body><?php <br> echo $_SERVER [ ‘PHP_SELF‘ ];<br> echo "<br>" ;<br> echo $_SERVER [ ‘SERVER_NAME‘ ];<br> echo "<br>" ;<br> echo $_SERVER [ ‘HTTP_HOST‘ ];<br> echo "<br>" ;<br> echo $_SERVER [ ‘HTTP_REFERER‘ ];<br> echo "<br>" ;<br> echo $_SERVER [ ‘HTTP_USER_AGENT‘ ];<br> echo "<br>" ;<br> echo $_SERVER [ ‘SCRIPT_NAME‘ ];<br>?></body><br></html><br></span>
|
运行结果;
/example/php/demo_php_global_server.php
www.w3school.com.cn
www.w3school.com.cn
http://www.w3school.com.cn/tiy/s.asp?f=demo_php_global_server
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
/example/php/demo_php_global_server.php
下表列出了您能够在 $_SERVER 中访问的最重要的元素:
$_SERVER 元素/代码 | 描述 |
$_SERVER[‘PHP_SELF‘] | 返回当前执行脚本的文件名。 |
$_SERVER[‘GATEWAY_INTERFACE‘] | 返回服务器使用的 CGI 规范的版本。 |
$_SERVER[‘SERVER_ADDR‘] | 返回当前运行脚本所在的服务器的 IP 地址。 |
$_SERVER[‘SERVER_NAME‘] | 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。 |
$_SERVER[‘SERVER_SOFTWARE‘] | 返回服务器标识字符串(比如 Apache/2.2.24)。 |
$_SERVER[‘SERVER_PROTOCOL‘] | 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。 |
$_SERVER[‘REQUEST_METHOD‘] | 返回访问页面使用的请求方法(例如 POST)。 |
$_SERVER[‘REQUEST_TIME‘] | 返回请求开始时的时间戳(例如 1577687494)。 |
$_SERVER[‘QUERY_STRING‘] | 返回查询字符串,如果是通过查询字符串访问此页面。 |
$_SERVER[‘HTTP_ACCEPT‘] | 返回来自当前请求的请求头。 |
$_SERVER[‘HTTP_ACCEPT_CHARSET‘] | 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1) |
$_SERVER[‘HTTP_HOST‘] | 返回来自当前请求的 Host 头。 |
$_SERVER[‘HTTP_REFERER‘] | 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。 |
$_SERVER[‘HTTPS‘] | 是否通过安全 HTTP 协议查询脚本。 |
$_SERVER[‘REMOTE_ADDR‘] | 返回浏览当前页面的用户的 IP 地址。 |
$_SERVER[‘REMOTE_HOST‘] | 返回浏览当前页面的用户的主机名。 |
$_SERVER[‘REMOTE_PORT‘] | 返回用户机器上连接到 Web 服务器所使用的端口号。 |
$_SERVER[‘SCRIPT_FILENAME‘] | 返回当前执行脚本的绝对路径。 |
$_SERVER[‘SERVER_ADMIN‘] | 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。 |
$_SERVER[‘SERVER_PORT‘] | Web 服务器使用的端口。默认值为 “80”。 |
$_SERVER[‘SERVER_SIGNATURE‘] | 返回服务器版本和虚拟主机名。 |
$_SERVER[‘PATH_TRANSLATED‘] | 当前脚本所在文件系统(非文档根目录)的基本路径。 |
$_SERVER[‘SCRIPT_NAME‘] | 返回当前脚本的路径。 |
$_SERVER[‘SCRIPT_URI‘] | 返回当前页面的 URI。 |
14.4 PHP $_REQUEST
PHP $_REQUEST 用于收集 HTML 表单提交的数据。
下面的例子展示了一个包含输入字段及提交按钮的表单。当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到 <form> 标签的 action 属性中指定的脚本文件。在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。然后,我们可以使用超级全局变量 $_REQUEST 来收集 input 字段的值:
实例
<span style= "font-size: 14px;" ><html><br><body><br><br><form method= "post" action= "<?php echo $_SERVER[‘PHP_SELF‘];?>" ><br>Name: <input type= "text" name= "fname" ><br><input type= "submit" ><br></form><br><br><?php <br> $name = $_REQUEST [ ‘fname‘ ]; <br> echo $name ; <br>?><br><br></body><br></html><br></span>
|
14.5 PHP $_POST
PHP $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。
下面的例子展示了一个包含输入字段和提交按钮的表单。当用户点击提交按钮来提交数据后,表单数据会发送到 <form> 标签的 action 属性中指定的文件。在本例中,我们指定文件本身来处理表单数据。如果您希望使用另一个 PHP 页面来处理表单数据,请用更改为您选择的文件名。然后,我们可以使用超全局变量 $_POST 来收集输入字段的值:
实例
<span style= "font-size: 14px;" ><html><br><body><br><br><form method= "post" action= "<?php echo $_SERVER[‘PHP_SELF‘];?>" ><br>Name: <input type= "text" name= "fname" ><br><input type= "submit" ><br></form><br><br><?php <br> $name = $_POST [ ‘fname‘ ]; <br> echo $name ; <br>?><br><br></body><br></html><br></span>
|
14.6 PHP $_GET
PHP $_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。
$_GET 也可以收集 URL 中的发送的数据。
假设我们有一张页面含有带参数的超链接:
<span style= "font-size: 14px;" ><html><br><body><br><br><a href= "test_get.php?subject=PHP&web=W3school.com.cn" >测试 $GET </a><br><br></body><br></html><br></span>
|
当用户点击链接 "Test $GET",参数 "subject" 和 "web" 被发送到 "test_get.php",然后您就能够通过 $_GET 在 "test_get.php" 中访问这些值了。
下面的例子是 "test_get.php" 中的代码:
实例
<span style=
"font-size: 14px;"
><html><br><body><br><br><?php <br>
echo
"Study "
.
$_GET
[
‘subject‘
] .
" at "
.
$_GET
[
‘web‘
];<br>?><br><br></body><br></html><br></span>