首页 > 后端开发 > php教程 > Php基础入门知识

Php基础入门知识

小云云
发布: 2023-03-21 07:28:02
原创
19058 人浏览过

本PHP入门教程带领初学者快速入门PHP知识,虽然很简单但是内容很全,希望能帮助到大家。

1、PHP 简介

PHP 脚本在服务器上执行。

在学习php之前,需要对下面的知识有基本的了解:

  • HTML

  • CSS

  • JavaScript

1.1 什么是 PHP?

  • PHP 是 "PHP Hypertext Preprocessor" 的首字母缩略词

  • PHP 是一种被广泛使用的开源脚本语言

  • PHP 脚本在服务器上执行

  • PHP 没有成本,可供免费下载和使用

1.2 PHP 是一门令人惊叹的流行语言!

  • 它强大到足以成为在网络上最大的博客系统的核心(WordPress)!

  • 它深邃到足以运行最大的社交网络(facebook)!

  • 而它的易用程度足以成为初学者的首选服务器端语言!

1.3 什么是 PHP 文件?

  • PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码

  • PHP 代码在服务器上执行,而结果以纯文本返回浏览器

  • PHP 文件的后缀是 ".php"

1.4 PHP 能够做什么?

  • PHP 能够生成动态页面内容

  • PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件

  • PHP 能够接收表单数据

  • PHP 能够发送并取回 cookies

  • PHP 能够添加、删除、修改数据库中的数据

  • PHP 能够限制用户访问网站中的某些页面

  • 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 脚本以 结尾:

<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 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称

  • 变量名称必须以字母或下划线开头

  • 变量名称不能以数字开头

  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)

  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

注释: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[&#39;y&#39;]=$GLOBALS[&#39;x&#39;]+$GLOBALS[&#39;y&#39;];<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 - 只能输出一个字符串,并始终返回 1

提示: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&#39;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&#39;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 = &#39;Hello world!&#39;;<br/>echo $x;<br/>?><br/></span>
登录后复制

5.2 PHP 整数

整数是没有小数的数字。

整数规则:

  • 整数必须有至少一个数字(0-9)

  • 整数不能包含逗号或空格

  • 整数不能有小数点

  • 整数正负均可

  • 可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)

在下面的例子中,我们将测试不同的数字。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" }

相关文章推荐:《php常用数组函数有哪些?PHP常用数组函数总结整理

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() 函数 - 它使用三个参数:

  1. 首个参数定义常量的名称

  2. 第二个参数定义常量的值

  3. 可选的第三个参数规定常量名是否对大小写敏感。默认是 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); <br/>// 输出 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 中,我们可以使用以下条件语句:

  • if 语句 - 如果指定条件为真,则执行代码

  • if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码

  • if...elseif....else 语句 - 选择若干段代码块之一来执行

  • switch 语句 - 语句多个代码块之一来执行

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>
登录后复制

工作原理:

  1. 对表达式(通常是变量)进行一次计算

  2. 把表达式的值与结构中 case 的值进行比较

  3. 如果存在匹配,则执行与 case 关联的代码

  4. 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行

  5. 如果没有 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 中,我们有以下循环语句:

  • while - 只要指定条件为真,则循环代码块

  • do...while - 先执行一次代码块,然后只要指定条件为真则重复循环

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

  • foreach - 遍历数组中的每个元素并循环代码块

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>
登录后复制

参数:

  • init counter:初始化循环计数器的值

  • test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。

  • increment counter:增加循环计数器的值

下面的例子显示了从 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[&#39;Peter&#39;]="35";<br/>$age[&#39;Ben&#39;]="37";<br/>$age[&#39;Joe&#39;]="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[&#39;Peter&#39;] . " 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[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;];<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[&#39;PHP_SELF&#39;];<br/>echo "<br>";<br/>echo $_SERVER[&#39;SERVER_NAME&#39;];<br/>echo "<br>";<br/>echo $_SERVER[&#39;HTTP_HOST&#39;];<br/>echo "<br>";<br/>echo $_SERVER[&#39;HTTP_REFERER&#39;];<br/>echo "<br>";<br/>echo $_SERVER[&#39;HTTP_USER_AGENT&#39;];<br/>echo "<br>";<br/>echo $_SERVER[&#39;SCRIPT_NAME&#39;];<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 表单提交的数据。

    下面的例子展示了一个包含输入字段及提交按钮的表单。当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到

    标签的 action 属性中指定的脚本文件。在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。然后,我们可以使用超级全局变量 $_REQUEST 来收集 input 字段的值:

    实例

    <span style="font-size: 14px;"><html><br/><body><br/><br/><form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>"><br/>Name: <input type="text" name="fname"><br/><input type="submit"><br/></form><br/><br/><?php <br/>$name = $_REQUEST[&#39;fname&#39;]; <br/>echo $name; <br/>?><br/><br/></body><br/></html><br/></span>
    登录后复制

    14.5 PHP $_POST

    PHP $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。

    下面的例子展示了一个包含输入字段和提交按钮的表单。当用户点击提交按钮来提交数据后,表单数据会发送到 标签的 action 属性中指定的文件。在本例中,我们指定文件本身来处理表单数据。如果您希望使用另一个 PHP 页面来处理表单数据,请用更改为您选择的文件名。然后,我们可以使用超全局变量 $_POST 来收集输入字段的值:

    实例

    <span style="font-size: 14px;"><html><br/><body><br/><br/><form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>"><br/>Name: <input type="text" name="fname"><br/><input type="submit"><br/></form><br/><br/><?php <br/>$name = $_POST[&#39;fname&#39;]; <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[&#39;subject&#39;] . " at " . $_GET[&#39;web&#39;];<br/>?><br/><br/></body><br/></html><br/></span>
    登录后复制

     相关推荐:

    PHP基础语法总结

    PHP基础条件判断语句详解

    php基础知识总结(新手必备)

    以上是Php基础入门知识的详细内容。更多信息请关注PHP中文网其他相关文章!

    相关标签:
    来源:php.cn
    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板