Maison > développement back-end > tutoriel php > Connaissances d'introduction de base à Php

Connaissances d'introduction de base à Php

小云云
Libérer: 2023-03-21 07:28:02
original
19055 Les gens l'ont consulté

Ce tutoriel d'introduction à PHP guide les débutants pour acquérir rapidement des connaissances en PHP. Bien qu'il soit très simple, il est très complet, j'espère qu'il pourra aider tout le monde.

1. Introduction à PHP

Les scripts PHP sont exécutés sur le serveur.

Avant d'apprendre le php, vous devez avoir une compréhension de base des connaissances suivantes :

  • HTML

  • CSS

  • JavaScript

1.1 Qu'est-ce que PHP ?

  • PHP est un acronyme pour "PHP Hypertext Preprocessor"

  • PHP est un largement langage de script open source utilisé

  • Les scripts PHP sont exécutés sur le serveur

  • PHP a gratuit et téléchargeable et utilisable gratuitement

1.2 PHP est un langage étonnant et populaire !

  • Il est suffisamment puissant pour être le cœur du plus grand système de blogging du web (WordPress) !

  • Il est suffisamment profond pour faire fonctionner le plus grand réseau social (facebook) !

  • Et il est suffisamment facile à utiliser pour devenir le langage côté serveur de choix pour les débutants !

1.3 Qu'est-ce qu'un fichier PHP ?

  • Les fichiers PHP peuvent contenir du texte, du HTML, CSS et du code PHP

  • Code PHP Exécuté sur le serveur, et les résultats sont renvoyés au navigateur en texte brut

  • Le suffixe des fichiers PHP est ".php"

1.4 Que peut faire PHP ?

  • PHP peut générer du contenu de page dynamique

  • PHP peut créer, ouvrir, lire, écrire, supprimer et fermer des fichiers sur le serveur

  • PHP peut recevoir des données de formulaire

  • PHP peut envoyer et récupérer des cookies

  • PHP peut ajouter, supprimer et modifier des données dans la base de données

  • PHP peut empêcher les utilisateurs d'accéder à certaines pages du site Web

  • PHP peut crypter les données

Avec PHP, vous n'êtes pas limité à produire uniquement du HTML. Vous pouvez également exporter des images, des fichiers PDF et même des films Flash. Vous pouvez également générer n'importe quel texte, tel que XHTML et XML.

1.5 Pourquoi utiliser PHP ?

  • PHP fonctionne sur diverses plateformes (Windows, Linux, Unix, Mac OS X, etc.)

  • PHP est compatible avec presque tous les serveurs (Apache, IIS, etc.)

  • PHP prend en charge une variété de bases de données

  • PHP est gratuit.

  • PHP est facile à apprendre et fonctionne efficacement côté serveur

1.6 PHP Installation

Le site officiel de PHP (PHP.net) fournit les instructions d'installation de PHP : http://php.net/manual/zh/install.php

2. Syntaxe PHP

Le script PHP est exécuté sur le serveur puis renvoie des résultats HTML purs au navigateur.

2.1 Syntaxe PHP de base

Les scripts PHP peuvent être placés n'importe où dans le document.

Les scripts PHP commencent par  :

<span style="font-size: 14px;"><?php// 此处是 PHP 代码?><br></span>
Copier après la connexion

L'extension de fichier par défaut pour les fichiers PHP est ".php".

Les fichiers PHP contiennent généralement des balises HTML ainsi que du code de script PHP.

L'exemple suivant est un simple fichier PHP, qui contient un script PHP qui utilise la fonction PHP intégrée "echo" pour afficher le texte "Hello World sur une page Web !" :

Instance

<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>
Copier après la connexion

运行结果:

我的第一张 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>
Copier après la connexion

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

运行结果

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>
Copier après la connexion

运行结果:

11

3.1 类似代数

<span style="font-size: 14px;">x=5<br/>y=6<br/>z=x+y</span>
Copier après la connexion

在代数中我们使用字母(比如 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>
Copier après la connexion

以上语句执行后,变量 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>
Copier après la connexion

在上例中,有两个变量 $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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

注释:该变量仍然是函数的局部变量。

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>
Copier après la connexion

显示变量

下面的例子展示如何用 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>
Copier après la connexion

运行结果

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

逻辑常用于条件测试。

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

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>
Copier après la connexion

6、PHP 字符串函数

字符串是字符序列,比如 "Hello world!"。

6.1 PHP strlen() 函数

strlen() 函数返回字符串的长度,以字符计。

下例返回字符串 "Hello world!" 的长度:

实例

<span style="font-size: 14px;"><?php<br/>echo strlen("Hello world!");<br/>?></span>
Copier après la connexion

以上代码的输出是: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>
Copier après la connexion

以上代码的输出是: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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion


运行结果:

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>
Copier après la connexion

下例将输出 "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>
Copier après la connexion

9.3 PHP - if...else 语句

请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行另一段代码。

语法

<span style="font-size: 14px;">if (条件) {<br/>  条件为 true 时执行的代码;<br/>} else {<br/>  条件为 false 时执行的代码;<br/>}<br/></span>
Copier après la connexion

下例将输出 "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>
Copier après la connexion

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>
Copier après la connexion

下例将输出 "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>
Copier après la connexion

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>
Copier après la connexion

工作原理:

  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>
Copier après la connexion

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>
Copier après la connexion

下例首先把变量 $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>
Copier après la connexion

10.3 PHP do...while 循环

do...while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。

语法

<span style="font-size: 14px;">do {<br/>  要执行的代码;<br/>} while (条件为真);<br/></span>
Copier après la connexion

下面的例子首先把变量 $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>
Copier après la connexion

请注意,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>
Copier après la connexion

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>
Copier après la connexion

参数:

  • 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>
Copier après la connexion

10.5 PHP foreach 循环

foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。

语法

<span style="font-size: 14px;">foreach ($array as $value) {<br/>  code to be executed;<br/>}<br/></span>
Copier après la connexion

每进行一次循环迭代,当前数组元素的值就会被赋值给 $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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

注释:函数名能够以字母或下划线开头(而非数字)。

注释:函数名对大小写不敏感。

提示:函数名应该能够反映函数所执行的任务。

在下面的例子中,我们创建名为 "writeMsg()" 的函数。打开的花括号({)指示函数代码的开始,而关闭的花括号(})指示函数的结束。此函数输出 "Hello world!"。如需调用该函数,只要使用函数名即可:

实例

<span style="font-size: 14px;"><?php<br/>function writeMsg() {<br/>  echo "Hello world!";<br/>}<br/><br/>writeMsg(); // 调用函数?><br/></span>
Copier après la connexion

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>
Copier après la connexion

运行结果

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

12.1 什么是数组?

数组是特殊的变量,它可以同时保存一个以上的值。

如果有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的:

<span style="font-size: 14px;">$cars1="Volvo";<br/>$cars2="BMW";<br/>$cars3="SAAB";<br/></span>
Copier après la connexion

不过,假如希望对变量进行遍历并找出特定的那个值?或者如果需要存储 300 个汽车品牌,而不是 3 个呢?

解决方法是创建数组!

数组能够在单一变量名中存储许多值,并且能够通过引用下标号来访问某个值。

12.2 在 PHP 中创建数组

在 PHP 中, array() 函数用于创建数组:

<span style="font-size: 14px;">array();<br/></span>
Copier après la connexion

在 PHP 中,有三种数组类型:

  • 索引数组 - 带有数字索引的数组

  • 关联数组 - 带有指定键的数组

  • 多维数组 - 包含一个或多个数组的数组

12.3 PHP 索引数组

有两种创建索引数组的方法:

索引是自动分配的(索引从 0 开始):

<span style="font-size: 14px;">$cars=array("Volvo","BMW","SAAB");<br/></span>
Copier après la connexion

或者也可以手动分配索引:

<span style="font-size: 14px;">$cars[0]="Volvo";<br/>$cars[1]="BMW";<br/>$cars[2]="SAAB";<br/></span>
Copier après la connexion

下面的例子创建名为 $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>
Copier après la connexion

运行结果:

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>
Copier après la connexion

上例输出 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>
Copier après la connexion

12.6 PHP 关联数组

关联数组是使用您分配给数组的指定键的数组。

有两种创建关联数组的方法:

<span style="font-size: 14px;">$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");<br/></span>
Copier après la connexion

或者:

<span style="font-size: 14px;">$age[&#39;Peter&#39;]="35";<br/>$age[&#39;Ben&#39;]="37";<br/>$age[&#39;Joe&#39;]="43";<br/></span>
Copier après la connexion

随后可以在脚本中使用指定键:

实例

<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>
Copier après la connexion

以上例子输出: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>
Copier après la connexion

运行结果:

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>
    Copier après la connexion

    运行结果:

    BMW
    SAAB
    Volvo

    下面的例子按照数字升序对数组 $numbers 中的元素进行排序:

    实例

    <span style="font-size: 14px;"><?php<br/>$numbers=array(3,5,1,22,11);<br/>sort($numbers);<br/>?><br/></span>
    Copier après la connexion

    13.3 对数组进行降序排序 - rsort()

    下面的例子按照字母降序对数组 $cars 中的元素进行排序:

    实例

    <span style="font-size: 14px;"><?php<br/>$cars=array("Volvo","BMW","SAAB");<br/>rsort($cars);<br/>?><br/></span>
    Copier après la connexion

    下面的例子按照数字降序对数组 $numbers 中的元素进行排序:

    实例

    <span style="font-size: 14px;"><?php<br/>$numbers=array(3,5,1,22,11);<br/>rsort($numbers);<br/>?><br/></span>
    Copier après la connexion

    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>
    Copier après la connexion

    运行结果:

    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>
    Copier après la connexion

    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>
    Copier après la connexion

    运行结果:

    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>
    Copier après la connexion

    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>
    Copier après la connexion

    在上面的例子中,由于 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>
    Copier après la connexion

    运行结果;

    /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>
    Copier après la connexion

    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>
    Copier après la connexion

    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>
    Copier après la connexion

    当用户点击链接 "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>
    Copier après la connexion

     相关推荐:

    PHP基础语法总结

    PHP基础条件判断语句详解

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

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal