最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基本的 PHP 语法

来源:动视网 责编:小OO 时间:2025-09-28 00:31:48
文档

基本的 PHP 语法

基本的PHP语法(Syntax)如果你要在网页里写一段PHP代码,你应以为结束。在支持简写的服务器上,你可以使用来开始和结束PHP脚本块。为了保证你的PHP文件能够在不同环境下正常运行,强烈建议你使用第一种方法。即以结束。一个简单的PHP文件的例子你可以用Notepad编写如下代码,这就是一个最简单的PHP文件。其中的echo是PHP最常用的函数之一,作用是输出文本。保存PHP文件PHP文件以.php作为文件扩展名。比如你可以将上面的例子保存为blabla.php。运行PHP示例文件在浏览器里
推荐度:
导读基本的PHP语法(Syntax)如果你要在网页里写一段PHP代码,你应以为结束。在支持简写的服务器上,你可以使用来开始和结束PHP脚本块。为了保证你的PHP文件能够在不同环境下正常运行,强烈建议你使用第一种方法。即以结束。一个简单的PHP文件的例子你可以用Notepad编写如下代码,这就是一个最简单的PHP文件。其中的echo是PHP最常用的函数之一,作用是输出文本。保存PHP文件PHP文件以.php作为文件扩展名。比如你可以将上面的例子保存为blabla.php。运行PHP示例文件在浏览器里
基本的 PHP 语法 (Syntax)

如果你要在网页里写一段 PHP 代码,你应以  为结束。

?>

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

?>

为了保证你的 PHP 文件能够在不同环境下正常运行,强烈建议你使用第一种方法。即以  结束。

一个简单的 PHP 文件的例子

你可以用 Notepad 编写如下代码,这就是一个最简单的 PHP 文件。

echo "Blabla.cn"

?>

其中的 echo 是 PHP 最常用的函数之一,作用是输出文本。

保存 PHP 文件

PHP 文件以 .php 作为文件扩展名。

比如你可以将上面的例子保存为 blabla.php。

运行 PHP 示例文件

在浏览器里输入上述 PHP 示例文件的 URL 路径,你会看到显示的结果是:

Blabla.cn

请用浏览器查看该示例网页源代码,你会发现,你看不到上面示例文件中写的 PHP 代码,你看到的只是 PHP 脚本执行后形成的 HTML ,如下所示:

Blabla.cn

用户看不到 PHP 文件的源代码,只能看到 PHP 文件执行后的输出结果。

PHP 语言中分号 (Semicolon) 的作用: 指令分隔符 (Instruction separation)

PHP 语言中,分号 (Semicolon) 表示一个 PHP 指令的结束,记住在每个 PHP 指令结束后加上分号,不过在一个 PHP 脚本块中,最后一个指令后可以不必加分号,因为 ?> 自动暗含了一个分号,当然你加分号也不会出错。

比如我们用分号分隔两个 echo 语句,如下:

echo "Blabla.cn";

echo "Hello"

?>

空格

空格在两个 PHP 指令之间是被忽略的。

下面三种写法,输出 HTML 结果是一样的。

echo "Blabla.cn"; 

echo "Hello"

?>

echo "Blabla.cn"; 

   echo "Hello"

?>

echo "Blabla.cn";echo "Hello"

?>

 

变量是用来存储数据的容器,变量可以存储各种数据,比如数字、字符串、数组。变量可以被多次调用。

PHP 变量 (Variables)

PHP 的变量必须以 $ 符开始。PHP 的变量声明语法如下:

$variable_name = value

很多初学 PHP 的人会忘记在变量名前加 $ 符,这是个初学者常犯的错误。

PHP 语言是区分大小写 (case-sensitive) 的,变量 $a 和 $A 不是同一个变量,而表示两个不同的变量。

下面一个示例中声明了两个变量,并输出两个变量的值。

$score = 100;

$txt = "Blabla.cn";

echo $score;

echo $txt;

?>

如果一个变量的值是字符串,要用双引号将字符串围起来。比如:

$txt = "Blabla.cn"

如果一个变量的值是数字类型,直接写数字即可,不用双引号,比如:

$score = 100

PHP 是一种弱类型的语言 (loosely typed language,也被翻译成“松散类型”,“宽松类型”),意思是说,当你声明变量时,不需要事先声明变量的数据类型,PHP 会自动将变量转换成适当的数据类型。

与此对应的是强类型语言 (strongly typed language),比如 VB,在 VB 中声明一个变量时,必须同时确定该变量的数据类型,如下示例

Dim txt As String

Dim score As Integer

PHP 变量 (Variables) 命名规则

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

变量名只能包含字母和数字和下划线 (a-Z,0-9,_)

变量名不能包含空格。如果变量名两个词以上,可以用下划线分隔,比如 $my_name,或者可以使用大写来区分,比如 $myName。

 

前一章节我们讲述了PHP 变量 (Variables),主要讲的用户自定义的变量。

PHP 自身还提供了很多预定义的变量 (predefined variables) 。

从 PHP 4.1.0 以后,PHP 提供了一些超全局变量 (superglobals),通过这些超全局变量,我们可以获得有关 web 服务器,环境和用户输入的信息。之所以叫做超全局变量 (superglobals),是因为它们在任何范围都可用。

PHP 超全局变量 (Superglobals)

$GLOBALS

$_SERVER

$_GET

$_POST

$_COOKIE

$_FILES

$_ENV

$_REQUEST

$_SESSION

这些超全局变量你只要先大概记住名字就可以,我们会在后面的教程具体提到这些变量的用处。

 

PHP 语言中,echo 是一个最常用的内置函数。它的作用,就是输出一个或者多个字符串。

用 echo 输出一个字符串

在 PHP 语法中,我们已经举过一个简单的 echo 的示例,如下:

echo "Blabla.cn"

?>

返回的 HTML 结果是:

Blabla.cn

我们将这个例子再写复杂一点,加上 HTML 标记,如下:

echo "

Blabla.cn

"

?>

返回的 HTML 结果是:

Blabla.cn

用 echo 输出多个字符串

echo 也可以输出多个字符串,用逗号,分隔。示例如下:

echo "woyouxian.net", " and 

?>

返回的显示结果是:

woyouxian.net and blabla.cn

用 echo 输出变量的值

echo 还可以输出变量的值。示例如下:

$a = "blabla.cn";

echo $a

?>

上面代码中,$a 是一个变量,$a 的值是 "blabla.cn",用 echo 输出 $a 的值。

显示的结果是:

blabla.cn

再比如,输出两个变量的值:

$a = "woyouxian.net ";

$b = "blabla.cn";

echo $a,$b

?>

返回的显示结果是:

woyouxian.net blabla.cn

echo 的字符串参数里含有变量

如果 echo 的字符串参数里含有变量,有两种情况:第一种是字符串参数用双引号,echo 输出变量的值;第二种是字符串参数使用单引号,则输出变量名。

字符串采用双引号的示例如下:

$a = "just in case";

echo "take the gun,$a";

返回的结果是:

take the gun,just in case

上例中,字符串采用双引号,在字符串里的变量输出变量的值。

再看字符串用单引号的情况。示例如下:

$a = "just in case";

echo 'take the gun,$a';

在字符串使用单引号的情况下,返回的结果是输出变量名称,而不是变量的值:

take the gun,$a

有关 PHP 变量,详见 PHP 变量。

 

PHP 字符串 (Strings)

字符串,就是一系列字符。字符串是 PHP 中常用的数据类型之一。

字符串通常有两种方法定义:

单引号

双引号

单引号指定字符串

指定一个字符串最简单的方法是用单引号(字符 ')围起来。比如

'have fun'

如果一个字符串里含有单引号,怎么办呢?这时候就需要用到一个转义符,反斜杠 (字符 \)。在字符串里的单引号之前要加一个反斜杠,也就是说,在字符串里,用 \' 来表示单引号。示例如下:

echo 'I\\'m nice.'

?>

上面示例显示的结果是:

I'm nice.

如果你需要在单引号之前或者在字符串末尾需要出现一个反斜杠,则需要用两个反斜杠表示。示例如下:

echo 'I\\\\\\'m nice. ';

echo 'Help others\\\\'

?>

上面的示例显示的结果是:

I\\'m nice. Help others\

在其它情况下,反斜杠不起转义作用,比如 \\n,还是会显示 \\n。示例如下

echo 'one for all \\n all for one'

?>

返回的显示结果是:

one for all \\n all for one

双引号指定字符串

指定一个字符串还可以用另外一种方法,就是用双引号(字符 ")将其围起来。比如:

"have fun"

如果在一个字符串里含有双引号,我们需要在双引号前加转义符反斜杠,即用 \" 来表示双引号。示例如下:

echo "I said \\"Yes\\". ";

?>

返回的显示结果是:

I said "Yes".

如果你需要在双引号之前或者在字符串末尾需要出现一个反斜杠,则需要用两个反斜杠表示。示例如下:

echo "hi\\\\\\"wow ";

echo "cool\\\\"

?>

该示例显示结果如下:

hi\\"wow cool\

用双引号指定字符串比用单引号允许更多转义。如果你需要更多转义,推荐用双引号来指定字符串。

转义符号说明
\n

换行(LF 或 ASCII 字符 0x0A(10))

\r

回车(CR 或 ASCII 字符 0x0D(13))

\t

水平制表符(HT 或 ASCII 字符 0x09(9))

\\\反斜线
\$

美元符号
\"

双引号
\[0-7]{1,3}

此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2}

此正则表达式序列匹配一个用十六进制符号表示的字符
字符串运算符

字符运算符有2个。一个是连接运算符.,用来连接两个字符串;一个是连接赋值运算符.=,它将右边参数附加到左边的参数后。

连接运算符.的示例如下:

echo "Hello "."World"

?>

返回显示结果为:

Hello World

连接赋值运算符.= 示例如下:

$a ="good";

$a .=" for you";

echo $a

?>

上面语句中,$a .=" for you" 相当于 $a = $a." for you"

该示例返回的显示结果为:

good for you

 

PHP 注释 (Comments)

在编程时,给代码加上简明扼要的注释是一个非常好的习惯,代码注释可以帮助自己日后记忆,也可以帮助他人看懂和使用你的代码。

PHP 注释 (Comments) 有两种类型,一种是单行注释,一种是多行注释。

PHP 单行注释语法

在一行中所有 // 符号右面的文本都被视为注释, 因为 PHP 解析器忽略该行 // 右面的所有内容。示例如下,红色字体部分就是单行注释的内容。

echo "Blabla.cn"; // 这是单行注释

?>

你也这样这样写,一行只写注释,不写代码,如下:

// 这是单行注释

echo "Blabla.cn"; 

// 这是单行注释

?>

PHP 多行注释语法

PHP 多行注释以 /* 开头,以 */ 结束。在 /* 和 */ 之间,可以写多行注释。

示例如下,红色部分就是多行注释的内容。

echo "Blabla.cn";

/*

这是多行注释

这是多行注释

*/

?>

 

PHP 数据类型 (Data Types)

PHP 语言有8种基本类型。这8种基本类型又分成三类:标量类型,复合类型和特殊类型。

标量类型 (scalar types)

布尔 (boolean)

整数 (integer)

浮点数 (即小数,float 或者 double)

字符串 (string)

复合类型 (compound types)

数组 (array)

对象 (object)

特殊类型 (special types)

资源 (resource)

NULL (NULL)

对于初学者来说,经常用到的是字符串 (string)、整数 (integer)、浮点数(float)、数组 (array) 和布尔类型(boolean)。

整数和浮点数

整数和浮点数的使用比较简单,看个示例就明白了。

$a =1; //整数类型

$b =8.26; //浮点数类型

echo $a;

echo "";

echo $b;

?>

字符串

PHP 字符串前面我们已经介绍过,字符串要用单引号或者双引号围起来,详见 PHP 字符串。

布尔类型

布尔类型只有两个值,一个是 TRUE,一个是 FALSE。这两个值是不区分大小写的 (case-insensitive),比如你可以写成 True,true,False,false 。

布尔类型,通常用于判断条件是否符合,示例如下:

$a = false;

if ($a) {

  echo "yesyes";

}

else {

  echo "nono";

}

?>

示例的意思是,当变量$a 的值为布尔值 TRUE 时,输出 "yesyes",当变量$a 的值为布尔值 FALSE 时,则输出 "nono",而该示例中,变量$a 的值为布尔值 FALSE,所以最后输出 "nono"。

数组

数组表示一组相关的数据。数组我们会在下一章节详述,详见 PHP 数组。

PHP 是弱类型语言

PHP 是一种弱类型的语言 (loosely typed language,也被翻译成“松散类型”,“宽松类型”),意思是说,当你声明变量时,不需要事先声明变量的数据类型,PHP 会自动将变量转换成适当的数据类型。

与此对应的是强类型语言 (strongly typed language),比如 VB,在 VB 中声明一个变量时,必须同时确定该变量的数据类型,如下示例

Dim txt As String

Dim score As Integer

 

PHP 数组 (Arrays)

本章讲述 PHP 数组 (Arrays)。

数组的定义

数组表示一组相关联的数据。

在 PHP 中,我们用 array() 定义一个数组。示例如下:

$a = array("orange", "apple

echo $a[0];

?>

其中,$a = array("orange", "apple 定义了一个数组变量,该数组有三个数据。

数组的每个值之间用逗号分隔。

下面的语句echo $a[0] 表示输出数组的第一个值,即"orange"。注意,数组是以0为基数,而不是1。数组变量方括号 [] 里的值,我们称为数组的索引 key。

数组是 key-value 一一对应的组合

数组的基本单位是元素 (elements)。每个元素由一对索引(key,也称为“键”) 和值(value) 组成。

每个值,都有一个相对应的索引 (key)。通过指明数组的 key,我们获取相对应的值,比如 $a[0]。

前面示例的数组定义方法,是数组定义的一种简写方式,没有定义数组每个值的 key。在缺省情况下,如果不定义数组每个值的 key,key 就从 0 开始每次自动加 1。

$a = array("orange", "apple

$a = array(0=>"orange", 1=>"apple",2=>"peach");

上面两句代码效果是一样的,第一句没有指定数组的 key,系统就自动给数组的每个值加 key,key 的值从0开始每次加1。第二句代码,是在定义数组的时候,给数组的每个值加赋予对应的 key。

定义数组中一对 key-value 的写法是:key=>value,比如 0=>"orange"表示 key 为 0,对应的值为 "orange"。

指定 key 比不指定 key 的写法虽然复杂,但是也给予你设定 key 的自由度,你可以随意设定数组每个值的key。比如:

$a = array(1=>"orange", 3=>"apple",5=>"peach");

echo $a[1];

?>

另外,数组的 key 还可以用字符串表示。注意:用字符串作 key,在指明 key 的时候,要加引号。比如:

$a = array("os"=>"Windows XP", "lang"=>"Chinese

echo $a["os"],"";

echo $a["lang"],"";

echo $a["sp"];

?>

注:key 只能是整数和字符串。

定义数组还可以有另外一种方法,示例如下:

$a["os"] ="Windows XP";

$a["lang"] ="Chinese";

$a["sp"]="Service Pack 3";

效果和$a = array("os"=>"Windows XP", "lang"=>"Chinese一样。

修改数组

增加一个数组元素的语法:

$array_name[key] = value

删除一个数组元素,使用 unset 函数,语法如下:

unset($array_name[key])

增加和删除一个数组元素的示例如下,其中$a["c"] = 300; 表示增加一个 key 为 "c" ,值为300 的数组元素;unset($a["b"]); 表示删除一个 key 为 "b"的数组元素:

$a = array(a=>100, b=>200,d=>500);

$a["c"] = 300;  

unset($a["b"]);

 

foreach ($a as $key=> $value)

{

  echo $key.": ".$value."";

}

?>

该示例的返回结果是:

a: 100

d: 500

c: 300

 

PHP 运算符 (Operators)

此章节我们介绍 PHP 的运算符 (Operators)。

运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。

An operator is something that you feed with one or more values (or expressions, in programming jargon) which yields another value (so that the construction itself becomes an expression).

算术运算符 (Arithmetic Operators)

运算符说明示例结果
+2+2

$a + $b

4

变量$a 和 $b 的和

-3-2

$a - $b

1

变量$a 和 $b 的差

*3*2

$a * $b

6

变量$a 和 $b 的乘积

/3/2

$a / $b

1.5

变量$a 除以 $b 的结果

余数3/2

$a % $b

1

变量$a 除以 $b 的余数

赋值运算符 (Assignment Operators)

基本的赋值运算符是 =。你可能会以为它是"等于",其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。

比如 $a = 5 ,表示将 5 这个值赋给变量 $a。

在 PHP 语言中,= 表示赋值, == 才表示等于。 == 参见下面的比较运算符。

比较运算符 (Comparison Operators)

运算符说明示例
==等于6==6 返回 TRUE

!=不等于7!=8 返回 TRUE

小于8<7 返回 FALSE

大于8>7 返回 TRUE

<=小于等于8<=9 返回 TRUE

>=大于等于8>=9 返回 FALSE

逻辑运算符 (Logical Operators)

运算符说明示例
&&and 与

$a && $b

如果 $a 和 $b 都为 TRUE,返回TRUE

||or 或

$a || $b

如果 $a,$b 中任何一个为 TRUE,返回 TRUE

!not 非

!$a

如果 $a 不是TRUE,返回 TRUE

xorxor 或异

$a xor $b

如果 $a,$b 中任何一个为 TRUE,但不同时为 TRUE,返回 TRUE

递增/递减运算符 (Incrementing/Decrementing Operators)

运算符说明示例
++递增$a++,返回$a,然后将$a的值加1

++$a,$a的值加1,然后返回$a

--递减$a--,返回$a,然后将$a的值减1

--$a,$a的值减1,然后返回$a

字符串运算符 (String Operators)

字符运算符有2个。一个是连接运算符.,用来连接两个字符串;一个是连接赋值运算符.=,它将右边参数附加到左边的参数后。示例如下:

运算符示例结果
."Hello"."World"HelloWorld
.=$a="Hello";

$a.="World";

$a.="World" 相当于$a = $a."World"

$a 的值为 HelloWorld

赋值运算符和算术运算符的结合使用

运算符组合示例说明
+=$a += 3$a = $a + 3
-=$a -= 3$a = $a - 3
*=$a *= 3$a = $a * 3
/=$a /= 3$a = $a / 3
%=$a %= 3$a = $a % 3
PHP If 条件语句

该章节讲述 PHP 中的 If 条件语句。

if 条件语句语法

If 结构是编程语言中最常用的。其语法如下:

if (expr)

  statement

其中,expr 表示条件,statement 表示符合条件后应该执行的语句。意思是,如果符合某个条件 (expr),就执行后面的语句 (statement),如果不符合条件,则什么也不做。

示例如下:

if ($a > $b)

  echo "a is bigger than b";

?> 

上面的示例意思是,如果变量 $a > $b ,则输出 "a is bigger than b",反之,则什么也不做。

符合 if 条件后,如果要执行的语句不止一行,则需要用大括号 {} 将多行语句围起来。示例如下:

if ($a > $b) {

  echo "a is bigger than b";

  $b = $a;

}

?> 

这个例子的意思是,如果变量 $a > $b ,则输出 "a is bigger than b",并且将 $a 赋值给 $b。

很多时候,我们还需要在 If 条件为 False 的情况下,执行一些操作,这时候我们就需要用到 else 和

elseif。参见 PHP if...else 和elseif

 

PHP if...else 和 elseif

本章主要讲述条件语句中的:

else

elseif

上一章节,我们讲述了 If 结构,即条件为 TRUE 的情况下,执行某些语句,条件为 FALSE 时,什么也不做。

但是在很多情况下,我们希望,在条件为 FALSE 的情况下,也能够执行某些语句。这时,我们就需要用到 else 来补充 If 语句。

if...else 条件语句的语法

if...else 条件语句的语法如下:

if (expr)

  statement

else

  statement

示例如下:

if ($a > $b) {

  echo "a is bigger than b";

} else {

  echo "a is NOT bigger than b";

}

?> 

if...elseif...else 语法

如果有多重条件,则又需要用到 elseif,语法如下:

if (expr) 

  statement 

elseif (expr)

  statement

else

  statement

示例如下:

if ($a > $b) {

    echo "a is bigger than b";

} elseif ($a == $b) {

    echo "a is equal to b";

} else {

    echo "a is smaller than b";

}

?> 

 

PHP switch 条件语句

本章讲述 PHP 语言中的 switch 语句。

switch 语句和 if 语句相似,都是条件语句。很多情况下,需要将一个变量(或者表达式) 与不同的值进行比较,并根据它等于哪个值来执行不同的代码,这个时候,我们用 switch 语句更合适。

switch 条件语句的语法

switch 语句的语法如下:

switch (expression)

{

case value:

  statement

  break;  

case value:

  statement

  break;

[default:

  statement^]

}

下面两个例子用不同方法实现同样的事情,第一个是用 if...elseif...else 语句,一个使用 switch语句。

if ($i == 0) {

    echo "i equals 0";

} elseif ($i == 1) {

    echo "i equals 1";

} elseif ($i == 2) {

    echo "i equals 2";

}

  else {

    echo "i is not equal to 0, 1 or 2";

}

?>

上面这段 PHP 代码的意思是:如果变量 $i 等于 0,则输出 "i equals 0";如果变量 $i 等于 1,则输出 "i equals 1";如果变量 $i 等于 2,则输出 "i equals 2";如果都不是,则输出"i is not equal to 0, 1 or 2"。

下面是对应的switch 代码:

switch ($i) {

case 0:

    echo "i equals 0";

    break;

case 1:

    echo "i equals 1";

    break;

case 2:

    echo "i equals 2";

    break;

default:

    echo "i is not equal to 0, 1 or 2";

}

?> 

在每个 case 语句段后要加 break,如果不在 case 的语句段最后写上 break 的话,PHP 将继续执行下一个 case 中的语句段。

default 应该放在最后,只有在所有 case 都不符合的情况下,才执行 default 后面的语句。default 不是必须的,可以不写。

case 表达式可以是整数,浮点数(小数),以及字符串。

下面是一个使用字符串的 switch 示例:

switch ($food) {

case "apple":

    echo "give me an apple";

    break;

case "orange":

    echo "give me an orange";

    break;

case "cake":

    echo "give me a piece of cake";

    break;

}

?>

一个 case 中的语句也可以为空,如下示例:

switch ($i) {

case 0:

case 1:

case 2:

    echo "i is less than 3 but not negative";

    break;

case 3:

    echo "i is 3";

}

?> 

switch 语句和 elseif 语句的比较

在 switch 语句中,条件只求一次,然后和每个 case 比较,而在 elseif 语句中,条件会再次求值。如果你的条件比较复杂,或者是多次循环,用 switch 语句速度会更加快些。

 

PHP while 循环语句

本章节上述 PHP 语言中的 while 循环 (loop) 语句。

while 循环语句是 PHP 语言中最简单的一种循环 (loop) 语句。

while 循环语句的语法

while 循环语句的语法如下:

while (expr)

statement

当表达式 (expr) 为 TRUE 时,循环执行 while 内的语句 (statement),直到表达式 (expr) 为 FALSE。

还是举个简单的例子,一看就明白了。下面这个例子,使用到了 while 循环语句,它的意思是,当变量 $a 小于等于5的情况下,执行一次循环,该循环执行连个语句,一是输出 $a 的值,二是给 $a 的值加1,直到 $a 小于等于 5 为 FALSE,即 $a > 5才停止循环。

$a=1;

while($a<=5)

  {

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

  $a++;

  }

?>

 

PHP do...while 循环语句

上个章节我们讲述了PHP 语言中的 while 条件语句,这个章节我们讲述 do... while 循环语句。

do...while 循环语句的语法

do...while 循环语句语法如下:

do 

  statement

while (expr)

示例如下,该示例中,先执行一次循环,即 $i 加 1,然后输出 $i 的值,执行完第一次循环之后,检查条件 $i < 5,如果符合条件,则再执行一次循环,直到 $i < 5 为 FALSE 为止。

$i=0;

do

  {

  $i++;

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

  }

while ($i<5);

?>

do...while 循环语句和 while 循环语句的区别

do...while 和 while 循环语句很相似,两者的区别在于 while 先检查条件,符合条件再执行循环,而 do...while 则先执行循环,再检查条件,也就是说至少会执行一次循环。

举个例子,用 do...while 语句,返回的 HTML 结果是 0,因为先执行了一次循环,输出 $i 的值,然后检查条件,发现 $ >0 为 FALSE,就停止循环。

$i = 0;

do {

    echo $i;

} while ($i > 0);

?> 

而用 while 循环语句,因为先检查条件,一开始条件就不符,所以一次循环也不执行,不输出 $i 的值。

$i = 0;

while ($i > 0){

    echo $i;

}

?> 

 

PHP for 循环语句

本章讲述 PHP 语言中的 for 循环语句。

for 循环语句语法

for 循环语句是 PHP 语言中最复杂的一种循环语句。它的语法如下:

for (expr1; expr2; expr3)

statement

其中,expr1 表示初始值,expr2 表示循环的条件,expr3 表示增量,statement 表示循环执行的语句。

还是用实例解释,更容易理解。代码如下:

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

{

  echo $i ;

}

?>

该实例返回的显示结果是:

12345

这个实例中,变量 $i 的初始值是 1,循环的条件是 $i<=5,每循环一次,$i 的值加1。++ 表示递增。

这段代码是这样执行的,首先 $i 的初始值为1,符合 $i<=5,就循环一次,输出 $i 的值,然后给 $i 的值加1,这时候 $i 等于2,依然符合 $i<= 5的条件,就再次执行循环,输出 $i 的值,然后再给 $i 的值加1,这样反复循环,直到 $i 的值等于6,不符合循环的条件了,才终止循环。

 

PHP foreach 循环语句

本章讲述 PHP 语言的 foreach 循环语句。

foreach 循环语句的作用是遍历数组。在学这章之前,你有必要先了解 PHP 数组 (Arrays)。

foreach 循环语句的语法如下:

foreach (array as $value)

  statement

看一个简单的示例:

$a = array("orange", "apple

foreach ($a as $value)

{

  echo $value."";

}

?>

返回的显示结果是:

orange

apple

peach

该示例首先定义一个数组变量 $a,$a 有三个值,分别是"orange", "apple"和"peach",然后用 foreach 循环语句遍历这个数组,将数组中的每个值输出。

如果你还要获取数组的 key,则使用以下语法:

foreach (array as $key => $value)

    statement

示例如下:

$a = array("os"=>"Windows XP", "lang"=>"Chinese",sp=>"Service Pack 3");

foreach ($a as $key => $value)

{

  echo $key.": ".$value."";

}

?>

显示结果如下:

os: Windows XP

lang: Chinese

sp: Service Pack 3

 

PHP 函数(Functions)

这一章节我们讲述 PHP 的函数。

函数的定义和语法

函数是一段可以被反复使用的程序,它可以被其它程序调用。

函数的语法如下:

function functionname ([arg1,arg2...]) 

{

  statement

  [return value]

}

这个语法看起来比较难懂,我们先举个简单的示例:

function getsum($a,$b) 

{

  $sum = $a + $b;

  return $sum; 

}

通过这个典型而简单的例子,我们可以概括说明一下函数的写法。

每个函数以 function 开头。

function 后面要写一个函数名,比如 getsum 就是一个用户自定义的函数名。

函数名后面跟一对小括号 (),如果有参数,就在()里写参数,如果没有参数,就空着。比如 ($a,$b),就表示该函数有两个参数,一个是变量 $a,一个是变量 $b。函数可以有多个参数。函数的参数不是必须的,也可以没有参数。

小括号后面的代码要用大括号 {} 围起来。在 {} 里面写函数要执行的代码;

return 表示函数有返回值,后面跟函数的返回值。函数的返回值不是必须的,可以没有返回值。

如何调用函数

调用函数,只要写函数名加上函数必要的参数即可,如下红色代码所示:

function getsum($a,$b) {

  $sum = $a + $b;

  return $sum; 

}

echo getsum(2,5);

?>

如果函数没有参数,调用函数时也应该在函数名后加 ()。

function getten() {

  return 10;

}

echo getten();

?>

没有参数,没有返回值的函数示例

function sayhello() {

  echo "hello";

}

有参数,没有返回值的函数示例

function getName($name) {

  echo "Your name is ".$name;

}

 

PHP 变量范围 (Variable scope)

上一章我们讲述了 PHP 函数(Functions),这一章我们讲述变量的作用范围 (Variable scope) 。我们有必要搞清楚函数内部的变量,和函数外部的变量的区别。

全局变量 (global variables)和局部变量 (local variables)

我们将函数内部的变量称为局部变量 (local variables)。通常它只作用于该函数内部,只能在函数内部被访问到,它不影响函数外的代码。

在函数外部的变量,我们称为全局变量 (global variables)。通常它作用在函数外部。它不影响函数内部。

我们看一个示例,下面这个示例,虽然两个变量名都叫 $a,但是表示两个不同的变量,一个在函数外部,一个在函数内部。

$a = "Boston Legal";

function getA()

{

  $a ="House";

  return $a;

}

echo $a."";

echo getA();

?>

返回的结果是:

Boston Legal

House

函数外部变量 $a 的值为"Boston Legal",函数内部变量 $a 的值为"House"。

在函数内部访问全局变量

如果你想在函数内部也能访问到某个全局变量,可以使用$GLOBALS,$GLOBALS 是个 PHP 超全局变量。示例如下:

$a = "Boston Legal";

function getA()

{

  $a ="House"."".$GLOBALS['a'];

  return $a;

}

echo getA();

?>

$GLOBALS 是一个全局变量数组,该数组的 key 是全局变量名,该数组的值是全局变量的内容。

示例中$GLOBALS['a']表示函数外部的全局变量 $a。

 

PHP 内置函数 Internal (built-in) functions

上一章节我们讲述了 PHP 函数,讲的是用户如何自定义一个函数。

PHP 本身提供了很多内部函数 (Internal functions),也称为内置函数 (built-in functions),这一章节,我们主要介绍一些常用的 PHP 内置函数。

PHP 常用字符串内部函数 string functions

本章讲述几个常用的 PHP 字符串内部函数。我们下面讲述的 PHP 字符串内部函数有:echo,print,strlen,trim,ltrim,rtrim,substr,strtolower,strtoupper,str_replace。

echo 和 print

详见 PHP echo 和 PHP echo 和 print的区别。

strlen

strlen 函数能得到一个字符串的长度。下面的示例中,得到的变量 $a 的长度为 8。

$a = ' abcdef ';

echo strlen($a); //8

trim

trim 函数的功能是将字符串的两边的空格都去掉。比如下面示例中变量 $a 的值是 ' abcdef ',字符串两边各有一个空格, trim 之后,由于去掉字符串两边的两个空格,字符串的长度就是6。

$a = ' abcdef ';

echo strlen(trim($a)); //6

ltrim

ltrim 函数的功能是将字符串左边的空格去掉。

echo 'nice',' try'; //nice try

echo 'nice',ltrim(' try'); //nicetry

rtrim

rtrim 函数的功能是将字符串右边的空格去掉。

echo 'a ', 'b'; //a b

echo rtrim('a '),'b'; //ab

substr

通过 substr 函数可以得到字符串的一部分。substr 函数语法如下:

substr(string,start,length)

意思是从字符串 string 的 start 位置开始,截取长度为 length 的字符串。字符串 string 的第一个字符的位置是0,而不是1。示例如下:

echo substr('blablar.com',0,3); //bla

上面示例表示,从字符串第一个字符开始,截取3个字符,返回结果是 bla。

echo substr('blablar.com',3,5); //blar.

上面示例的意思是从字符串 blablar.com 的第四个字符开始,截取5 个字符,得到结果是 blar.。

你也可以不写参数 length,表示从 start 位置开始截取后面所有的的字符串,比如:

echo substr('blablar.com', 3); //blar.com

strtolower

strtolower 的功能是将字符串全部变成小写。示例如下:

echo strtolower('BlaBlar.COM');//blablar.com

strtoupper

strtoupper 和 strtolower 相反,功能是将字符串都变成大写。示例如下:

echo strtoupper('china'); //CHINA

str_replace

str_replace 的作用是替换字符串。str_replace 函数的语法如下:

str_replace(search,replace,subject)

意思是在 subject 字符串中,找到任何符合 search 的字符串,然后用 replace 代替所有 search 字符串。

示例如下:

echo str_replace("bla

上面的例子中,用 CHA 替代 blablar 字符串中所有的 bla ,返回的结果是CHACHAr。

PHP 常用数学计算内部函数 (Mathematical Functions)

本章讲述几个常用的 PHP 数学计算内部函数。

一般的计算,我们可以通过运算符解决,比如加减乘除等。使用 PHP 的数学计算内部函数,可以帮助我们解决一些比较复杂的计算。下面主要讲述 round, floor, ceil, pow, rand,max, min, decbin, bindec, dechex, hexdec, decoct, octdec 函数。

round

round - 对浮点数进行四舍五入。round 函数语法如下:

round(float,precision)

其中参数 precision 表示小数点后面要保持的精度位数。如果不写参数 precision,表示四舍五入到整数位,比如:

echo round(3.4);         // 3

echo round(3.5);         // 4

echo round(3.6);         // 4

如果 precision 为2,表示四舍五入到小数点后2位。示例如下:

echo round(1.95583, 2);  // 1.96

如果参数 precision 为负数,表示四舍五入到小数点前。比如:

echo round(1241757, -3); // 1242000

floor

floor - 舍去法求整。floor 函数语法如下:

floor (value) 

floor 函数返回不大于 value 的最大整数,即将 value 的小数部分舍去取整。示例如下:

echo floor(4); //4

echo floor(4.3);   // 4

echo floor(9.999); // 9

ceil

ceil - 进一法取整。ceil 函数语法如下:

ceil (value)

ceil 函数返回不小于 value 的最小整数。示例如下:

echo ceil(4);      //4

echo ceil(4.3);    // 5

echo ceil(9.999);  // 10

pow

pow - 求幂。pow 函数的语法如下:

pow (base,exp)

pow 函数返回 base 的 exp 次方的幂。下面的示例表示求 2 的8 次方,返回结果是256。

echo pow(2, 8); // 256

rand

rand - 产生一个随机整数。rand 函数语法如下:

rand (min,max)

rand 函数返回一个介于最小值 min 和最大值 max 之间 (包括min, max) 的随机整数。比如下面示例返回一个 2 到 6 之间的随机整数。

echo rand(2,6);

max

max - 返回参数中数值最大的值。

如果 max 函数只有一个参数且为数组,max 返回该数组中最大的值。

max 函数示例如下:

echo max(1, 3, 5, 6, 7);  // 7

echo max(array(2, 4, 5)); // 5

min

min - 返回参数中的最小值。

如果 min 函数只有一个参数且为数组,min 返回该数组中最小的值。

min 函数示例如下:

echo min(1, 3, 5, 6, 7);  // 1

echo min(array(2, 4, 5)); // 2

decbin

decbin - 十进制转换为二进制。decbin 函数语法如下:

decbin (number)

decbin 返回一个字符串,即返回参数 number 的二进制表示。示例如下:

echo decbin(12);

decbin(12) 返回的结果是:

1100

bindec

bindec - 二进制转换成十进制。bindec 函数语法如下:

bindec (binary_string)

bindec 函数将二进制字符串 binary_string 转换成一个十进制整数。示例如下:

echo bindec('110011'); //51

dechex, hexdec

dechex - 十进制转换为十六进制。

hexdec - 十六进制转换为十进制。

dechex, hexdec 函数示例如下:

echo dechex(47); //2f

echo hexdec('2f'); //47

decoct, octdec

decoct - 十进制转换为八进制

octdec - 八进制转换为十进制

decoct,octdec 函数示例如下:

echo decoct(12); //14

echo octdec('14'); //12

 

PHP 常用数组内部函数 (Array Functions)

本章讲述几个常用的 PHP 数组内部函数。

在前面我们已经介绍过PHP 数组,创建一个数组用 array() 函数,删除一个数组元素用 unset() 函数。本章节我们还要学习一些其它常用的有关数组的内部函数。

count,sizeof

count - 返回一个数组的元素个数。sizeof 是 count 的别名,功能和 count 一样,也是返回一个数组的元素个数。

count 函数示例如下,下面的示例中,输出数组个元素个数,为6。

$a = array(1,2,4,5,3,9);

echo count($a); //6

?>

sort

sort - 给一个数组的元素排序。排序后,数组各元素原来的 key 也因为排序而改变。sort 函数示例如下:

$a = array(1,2,4,5,3,9);

echo "before sorting: ";

foreach ($a as $key=>$value)

{

  echo "a[$key]: $value ";

}

sort($a);

echo "after sorting: ";

foreach ($a as $key=>$value)

{

  echo "a[$key]: $value ";

}

?>

返回的显示结果是:

before sorting:

a[0]: 1

a[1]: 2

a[2]: 4

a[3]: 5

a[4]: 3

a[5]: 9

after sorting:

a[0]: 1

a[1]: 2

a[2]: 3

a[3]: 4

a[4]: 5

a[5]: 9 

asort

asort - 给数组的元素排序,保留每个元素原来的key。

我们将上面的示例中的 sort($a) 改成 asort($a),得到的结果是:

before sorting:

a[0]: 1

a[1]: 2

a[2]: 4

a[3]: 5

a[4]: 3

a[5]: 9

after sorting:

a[0]: 1

a[1]: 2

a[4]: 3

a[2]: 4

a[3]: 5

a[5]: 9 

ksort

ksort - 根据 key 的大小给数组每个元素排序。ksort 函数示例如下:

$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

ksort($fruits);

foreach ($fruits as $key => $val) {

    echo "$key : $val ";

}

?> 

返回的结果如下:

a : orange

b : banana

c : apple

d : lemon 

文档

基本的 PHP 语法

基本的PHP语法(Syntax)如果你要在网页里写一段PHP代码,你应以为结束。在支持简写的服务器上,你可以使用来开始和结束PHP脚本块。为了保证你的PHP文件能够在不同环境下正常运行,强烈建议你使用第一种方法。即以结束。一个简单的PHP文件的例子你可以用Notepad编写如下代码,这就是一个最简单的PHP文件。其中的echo是PHP最常用的函数之一,作用是输出文本。保存PHP文件PHP文件以.php作为文件扩展名。比如你可以将上面的例子保存为blabla.php。运行PHP示例文件在浏览器里
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top