admin 管理员组

文章数量: 887021


2023年12月18日发(作者:牛客网c语言编程题)

PHP 教程

PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。

PHP 是免费的,并且使用广泛。对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。

PHP简介

PHP 文件可包含文本、HTML 标签以及脚本。PHP 文件中的脚本可在服务器上执行。

您应当具备的基础知识

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

HTML / XHTML

基础的脚本知识

如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。

什么是 PHP?

PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名)

PHP 是一种服务器端的脚本语言,类似 ASP

PHP 脚本在服务器上执行

PHP 支持很多数据库(MySQL、Informix、Oracle、Sybase、Solid、PostgreSQL、Generic ODBC 等等)

PHP 是一个开源的软件(open source software,OSS)

PHP 可免费下载使用

什么是 PHP 文件?

PHP 文件可包含文本、HTML 标签以及脚本

PHP 文件向浏览器返回纯粹的 HTML

PHP 文件的文件后缀是 ".php"、".php3" 或 ".phtml"

什么是 MySQL?

MySQL 是一种数据库服务器

MySQL 支持标准的 SQL

MySQL 可在许多平台上编译

MySQL 可免费下载使用

PHP + MySQL

PHP 与 MySQL 的组合是跨平台的(意思是您可以在 Windows 环境进行开发,而在 Unix 平台上提供服务)

为什么要使用 PHP?

PHP 可在不同的平台上运行(Windows、Linux、Unix)

PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)

PHP 可从官方的 PHP 资源免费下载:

PHP 易于学习,并可高效地运行在服务器端

从何处开始?

在 Windows 或者 Linux 机器上安装 Apache 服务器

在 Windows 或者 Linux 机器上安装 PHP

在 Windows 或者 Linux 机器上安装 MySQL

PHP安装

你需要做什么?

本教程不会为您讲解如何安装 PHP 、MySQL 或 Apache 服务器。

如果您的服务器支持 PHP - 那么您不需要做任何事情!您不需要编译任何软件,或安装额外的工具 - 只要在您的 web 目录中创建 .php 文件即可 - 然后您的服务器会为您解析这些文件。大多数主机都提供对 PHP 的支持。

不过,如果您的服务器不支持 PHP,那么您必须安装 PHP。下面的链接提供了来自 的优秀教程,您可以从中学习到如何安装 PHP5:

/manual/en/

下载 PHP

从此处下载免费的 PHP:/

下载 MySQL Database

从此处下载免费的 MySQL:/downloads/

下载 Apache Server

从此处下载免费的 Apache:/

PHP语法

您无法在浏览器中通过查看源文档的方式来查看 PHP 的源代码 - 您只能看到 PHP 文件的输出,即纯粹的 HTML。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。

基本的 PHP 语法

PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。

当然,在支持简写的服务器上,您可以使用 来开始和结束脚本块。

不过,为了达到最好的兼容性,我们推荐您使用标准形式 (

?>

PHP 文件通常会包含 HTML 标签,就像一个 HTML 文件,以及一些 PHP 脚本代码。

在下面,我们提供了一段简单的 PHP 脚本,它可以向浏览器输出文本 "Hello World":

echo "Hello World";

?>

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。

PHP 中的注释

在 PHP 中,我们使用 // 来编写单行注释,或者使用 /* 和 */ 来编写大的注释块。

//This is a comment

/*

This is

a comment

block

*/

?>

PHP变量

变量用于存储值,比如数字、字符串或函数的结果,这样我们就可以在脚本中多次使用它们了。

PHP 中的变量

变量用于存储值,比如数字、文本字符串或数组。

一旦设置了某个变量,我们就可以在脚本中重复地使用它。

PHP 中的所有变量都是以 $ 符号开始的。

在 PHP 中设置变量的正确方法是:

$var_name = value;

PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。

让我们试着创建一个存有字符串的变量,和一个存有数值的变量:

$txt = "Hello World!";

$number = 16;

?>

PHP 是一门松散类型的语言(Loosely Typed Language)

在 PHP 中,不需要在设置变量之前声明该变量。

在上面的例子中,您看到了,不必向 PHP 声明该变量的数据类型。

根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。

在强类型的编程语言中,您必须在使用前声明变量的类型和名称。

在 PHP 中,变量会在使用时被自动声明。

变量的命名规则

变量名必须以字母或下划线 "_" 开头。

变量名只能包含字母数字字符以及下划线。

变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。

PHP字符串

字符串变量用于存储并处理文本片段。

PHP 中的字符串

字符串变量用于包含字符串的值。

在本教程中,我们打算介绍几个在 PHP 中用于操作字符串的最常用的函数和运算符。

在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。

在下面,PHP 脚本把字符串 "Hello World" 赋值给名为 $txt 的字符串变量:

$txt="Hello World";

echo $txt;

?>

以上代码的输出:

Hello World

现在,让我们试着使用不同的函数和运算符来操作我们的字符串。

并置运算符(Concatenation Operator)

在 PHP 中,只有一个字符串运算符。

并置运算符 (.) 用于把两个字符串值连接起来。

要把两个变量连接在一起,请使用这个点运算符 (.) :

$txt1="Hello World";

$txt2="1234";

echo $txt1 . " " . $txt2;

?>

以上代码的输出:

Hello World 1234

您可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。

为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。

使用 strlen() 函数

strlen() 函数用于计算字符串的长度。

让我们算出字符串 "Hello world!" 的长度:

echo strlen("Hello world!");

?>

以上代码的输出:

12

字符串的长度信息常常用在循环或其他函数中,因为那时确定字符串何时结束是很重要的(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环)。

使用 strpos() 函数

strpos() 函数用于在字符串内检索一段字符串或一个字符。

如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 FALSE。

让我们试一下,是不是能在字符串中找到子字符串 "world":

echo strpos("Hello world!","world");

?>

以上代码的输出是:

6

正如您看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置是 0,而不是 1。

完整的 PHP String 参考手册

如需完整的字符串函数参考手册,请访问我们的 PHP String 参考手册。

这个手册提供了每个函数的简要描述和实例!

PHP运算符

运算符用于对值进行运算.

本部分列出了在 PHP 中使用的各种运算符:

算数运算符

运算符

+

-

*

/

%

说明

Addition

Subtraction

Multiplication

Division

Modulus (division remainder)

例子

x=2

x+2

x=2

5-x

x=4

x*5

15/5

5/2

5%2

10%8

10%2

结果

4

3

20

3

2.5

1

2

0

x=6

x=4

++

--

赋值运算符

Increment

Decrement

x=5

x++

x=5

x--

运算符

=

+=

-=

*=

/=

.=

说明

x=y

x+=y

x-=y

x*=y

x/=y

x.=y

例子

x=y

x=x+y

x=x-y

x=x*y

x=x/y

x=x.y

%=

比较运算符

x%=y

说明

is equal to

is not equal

is greater than

is less than

is greater than or equal to

is less than or equal to

x=x%y

例子

5==8 returns false

5!=8 returns true

5>8 returns false

5<8 returns true

5>=8 returns false

5<=8 returns true

例子

x=6

y=3

运算符

==

!=

>

<

>=

<=

逻辑运算符

运算符

说明

&&

and

(x < 10 && y > 1) returns true

||

or

x=6

y=3

(x==5 || y==5) returns false

!

not

x=6

y=3

!(x==y) returns true

PHP if…else语句

if、elseif 以及 else 语句用于执行基于不同条件的不同动作。

条件语句

当您编写代码时,您常常需要为不同的判断执行不同的动作。

您可以在代码中使用条件语句来完成此任务。

if...else 语句

在条件成立时执行一块代码,条件不成立时执行另一块代码

elseif 语句

与 if...else 配合使用,在若干条件之一成立时执行一个代码块

If...Else 语句

如果您希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if....else 语句。

语法

if (condition)

code to be executed if condition is true;

else

code to be executed if condition is false;

实例

如果当前日期是周五,下面的代码将输出 "Have a nice weekend!",否则会输出 "Have a nice day!":

$d=date("D");

if ($d=="Fri")

echo "Have a nice weekend!";

else

echo "Have a nice day!";

?>

如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中:

$d=date("D");

if ($d=="Fri")

{

echo "Hello!
";

echo "Have a nice weekend!";

echo "See you on Monday!";

}

?>

ElseIf 语句

如果希望在多个条件之一成立时执行代码,请使用 elseif 语句:

语法

if (condition)

code to be executed if condition is true;

elseif (condition)

code to be executed if condition is true;

else

code to be executed if condition is false;

实例

如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":

$d=date("D");

if ($d=="Fri")

echo "Have a nice weekend!";

elseif ($d=="Sun")

echo "Have a nice Sunday!";

else

echo "Have a nice day!";

?>

PHP Switch语句

PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作。

如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。

使用 Switch 语句可以避免冗长的 if..lse 代码块。

语法

switch (expression)

{

case label1:

code to be executed if expression = label1;

break;

case label2:

code to be executed if expression = label2;

break;

default:

code to be executed

if expression is different

from both label1 and label2;

}

实例

工作原理:

1.

2.

3.

4.

5.

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

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

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

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

如果没有 case 为真,则使用 default 语句

switch ($x)

{

case 1:

echo "Number 1";

break;

case 2:

echo "Number 2";

break;

case 3:

echo "Number 3";

break;

default:

echo "No number between 1 and 3";

}

?>

PHP数组

数组能够在单独的变量名中存储一个或多个值。

什么是数组?

在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。

无需很多相似的变量,你可以把数据作为元素存储在数组中。

数组中的元素都有自己的 ID,因此可以方便地访问它们。

有三种数组类型:

数值数组

带有数字 ID 键的数组

关联数组

数组中的每个 ID 键关联一个值

多维数组

包含一个或多个数组的数组

数值数组

数值数组存储的每个元素都带有一个数字 ID 键。

可以使用不同的方法来创建数值数组:

例子 1

在这个例子中,会自动分配 ID 键:

$names = array("Peter","Quagmire","Joe");

例子 2

在这个例子中,我们人工分配的 ID 键:

$names[0] = "Peter";

$names[1] = "Quagmire";

$names[2] = "Joe";

可以在脚本中使用这些 ID 键:

$names[0] = "Peter";

$names[1] = "Quagmire";

$names[2] = "Joe";

echo $names[1] . " and " . $names[2] . " are ". $names[0] .

"'s neighbors";

?>

以上代码的输出:

Quagmire and Joe are Peter's neighbors

关联数组

关联数组,它的每个 ID 键都关联一个值。

在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。

通过关联数组,我们可以把值作为键,并向它们赋值。

例子 1

在本例中,我们使用一个数组把年龄分配给不同的人:

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

例子 2

本例与例子 1 相同,不过展示了另一种创建数组的方法:

$ages['Peter'] = "32";

$ages['Quagmire'] = "30";

$ages['Joe'] = "34";

可以在脚本中使用 ID 键:

$ages['Peter'] = "32";

$ages['Quagmire'] = "30";

$ages['Joe'] = "34";

echo "Peter is " . $ages['Peter'] . " years old.";

?>

以上脚本的输出:

Peter is 32 years old.

多维数组

在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。

例子 1

在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:

$families = array

(

"Griffin"=>array

(

"Peter",

"Lois",

"Megan"

),

"Quagmire"=>array

(

"Glenn"

),

"Brown"=>array

(

"Cleveland",

"Loretta",

"Junior"

)

);

如果输出这个数组的话,应该类似这样:

Array

(

[Griffin] => Array

(

[0] => Peter

[1] => Lois

[2] => Megan

)

[Quagmire] => Array

(

[0] => Glenn

)

[Brown] => Array

(

[0] => Cleveland

[1] => Loretta

[2] => Junior

)

)

例子 2

让我们试着显示上面的数组中的一个单一的值:

echo "Is " . $families['Griffin'][2] .

" a part of the Griffin family?";

以上代码的输出:

Is Megan a part of the Griffin family?

PHP循环

PHP 中的循环语句用于执行相同的代码块指定的次数。

循环

在您编写代码时,您经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。

在 PHP 中,我们可以使用下列循环语句:

while

只要指定的条件成立,则循环执行代码块

do...while

首先执行一次代码块,然后在指定的条件成立时重复这个循环

for

循环执行代码块指定的次数

foreach

根据数组中每个元素来循环代码块

while 语句

只要指定的条件成立,while 语句将重复执行代码块。

语法

while (condition)

code to be executed;

例子

下面的例子示范了一个循环,只要变量 i 小于或等于 5,代码就会一直循环执行下去。循环每循环一次,变量就会递增 1:

$i=1;

while($i<=5)

{

echo "The number is " . $i . "
";

$i++;

}

?>

do...while 语句

do...while 语句会至少执行一次代码 - 然后,只要条件成立,就会重复进行循环。

语法

do

{

code to be executed;

}

while (condition);

例子

下面的例子将对 i 的值进行一次累加,然后,只要 i 小于 5 的条件成立,就会继续累加下去:

$i=0;

do

{

$i++;

echo "The number is " . $i . "
";

}

while ($i<5);

?>

for 语句

如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。

语法

for (initialization; condition; increment)

{

code to be executed;

}

注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。

例子

下面的例子会把文本 "Hello World!" 显示 5 次:

for ($i=1; $i<=5; $i++)

{

echo "Hello World!
";

}

?>

foreach 语句

foreach 语句用于循环遍历数组。

每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。

语法

foreach (array as value)

{

code to be executed;

}

例子

下面的例子示范了一个循环,这个循环可以输出给定数组的值:

$arr=array("one", "two", "three");

foreach ($arr as $value)

{

echo "Value: " . $value . "
";

}

?>

PHP函数

PHP 的真正威力源自于它的函数。

在 PHP 中,提供了超过 700 个内建的函数。

PHP 函数

在本教程中,我们将为您讲解如何创建自己的函数。

如需内建函数的参考和实例,请访问我们的 PHP 参考手册。

创建 PHP 函数

函数是一种可以在任何被需要的时候执行的代码块。

创建 PHP 函数:

1.

2.

3.

4.

5.

所有的函数都使用关键词 "function()" 来开始

命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。

添加 "{" - 开口的花括号之后的部分是函数的代码。

插入函数代码

添加一个 "}" - 函数通过关闭花括号来结束。

例子

一个简单的函数,在其被调用时能输出我的名称的:

function writeMyName()

{

echo "David Yang";

}

writeMyName();

?>

使用 PHP 函数

现在,我们要在 PHP 脚本中使用这个函数了:

function writeMyName()

{

echo "David Yang";

}

echo "Hello world!
";

echo "My name is ";

writeMyName();

echo ".
That's right, ";

writeMyName();

echo " is my name.";

?>

以上代码的输出:

Hello world!

My name is David Yang.

That's right, David Yang is my name.

PHP 函数 - 添加参数

我们的第一个函数是一个非常简单的函数。它只能输出一个静态的字符串。

通过可以添加参数,我们向函数添加更多的功能。参数类似一个变量。

您可能注意到了,函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。

例子 1

下面的例子讲输出不同的名字,但姓是相同的:

function writeMyName($fname)

{

echo $fname . " Yang.
";

}

echo "My name is ";

writeMyName("David");

echo "My name is ";

writeMyName("Mike");

echo "My name is ";

writeMyName("John");

?>

上面的代码的输出:

My name is David Yang.

My name is Mike Yang.

My name is John Yang.

例子 2

下面的函数有两个参数:

function writeMyName($fname,$punctuation)

{

echo $fname . " Yang" . $punctuation . "
";

}

echo "My name is ";

writeMyName("David",".");

echo "My name is ";

writeMyName("Mike","!");

echo "My name is ";

writeMyName("John","...");

?>

上面的代码的输出:

My name is David Yang.

My name is Mike Yang!

My name is

PHP 函数 - 返回值

函数也能用于返回值。

例子

function add($x,$y)

{

$total = $x + $y;

return $total;

}

echo "1 + 16 = " . add(1,16);

?>

以上代码的输出:

1 + 16 = 17

PHP表单和用户输入

PHP 的 $_GET 和 $_POST 用于检索表单中的值,比如用户输入。

PHP 表单处理

表单实例:

Name:

Age:

上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "" 这个文件。

"" 文件类似这样:

Welcome .

You are years old.

上面这个脚本的输出样本类似这样:

Welcome John.

You are 28 years old.

我们将在下一章解释 PHP $_GET 和 $_POST。

表单验证

应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。

不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。

在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。

PHP $_GET

$_GET 变量用于收集来自 method="get" 的表单中的值。

$_GET 变量

$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。

例子

Name:

Age:

当用户点击提交按钮时,发送的 URL 会类似这样:

/?name=Peter&age=37

"" 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键):

Welcome .

You are years old!

为什么使用 $_GET?

注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在

URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。

$_REQUEST 变量

PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。

PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。

例子

Welcome .

You are years old!

PHP $_POST

$_POST 变量用于收集来自 method="post" 的表单中的值。

$_POST 变量

$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。

$_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

例子

Enter your name:

Enter your age:

当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:

/

"" 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键):

Welcome .

You are years old!

为什么使用 $_POST?

通过 HTTP POST 发送的变量不会显示在 URL 中。

变量没有长度限制。

不过,由于变量不显示在 URL 中,所以无法把页面加入书签。

$_REQUEST 变量

PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。

PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。

例子

Welcome .

You are years old!


本文标签: 变量 使用 函数