PHP 腳本在伺服器上執行。
在學習php之前,需要對下面的知識有基本的了解:
HTML
CSS
#JavaScript
##PHP 能夠傳送並取回cookies
PHP 能夠新增、刪除、修改資料庫中的資料
##PHP 能夠限制使用者存取網站中的某些頁面
#PHP 能夠加密資料
透過PHP,可以不限於只輸出HTML。您還能夠輸出影像、PDF 檔案、甚至 Flash 影片。您也可以輸出任何文本,例如 XHTML 和 XML。
PHP 幾乎相容於所有伺服器(Apache, IIS 等等)
##PHP 是免費的。
PHP 易於學習,並且可以有效率地運行在伺服器端
1.6 PHP安裝
官方的PHP 網站(PHP.net) 提供了PHP 的安裝說明:http://php.net/manual/zh/install.php
2、PHP 語法
PHP 腳本在伺服器上執行,然後向瀏覽器傳回純HTML 結果。
#PHP 腳本可放置於文件中的任何位置。 ############PHP 腳本以86b0f31f15ff836606fc95f6b6ca8b7d 結尾:######
<span style="font-size: 14px;">f65c275e59a47d0c09d71b13f0c47764<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>###### #######
运行结果:
Hello World!
注释:PHP 语句以分号结尾(;)。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>
在 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
变量是存储信息的容器:
<span style="font-size: 14px;"><?php<br/>$x=5;<br/>$y=6;<br/>$z=$x+$y;<br/>echo $z;<br/>?><br/></span>
运行结果:
11
<span style="font-size: 14px;">x=5<br>y=6<br>z=x+y</span>
在代数中我们使用字母(比如 x)来保存值(比如 5)。
从上面的表达式 z=x+y,我们能够计算出 z 的值是 11。
在 PHP 中,这三个字母被称为变量。
注释:请把变量视为存储数据的容器。
正如代数,PHP 变量可用于保存值(x=5)和表达式(z=x+y)。
变量的名称可以很短(比如 x 和 y),也可以取更具描述性的名称(比如 carname、total_volume)。
变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
注释: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。
注释:如果您为变量赋的值是文本,请用引号包围该值。
在上面的例子中,请注意我们不必告知 PHP 变量的数据类型。
PHP 根据它的值,自动把变量转换为正确的数据类型。
在诸如 C 和 C++ 以及 Java 之类的语言中,程序员必须在使用变量之前声明它的名称和类型。
在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:
local(局部)
global(全局)
static(静态)
函数之外声明的变量拥有 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() 内部创建。
注释:您可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。
global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:
<span style="font-size: 14px;"><?php<br/>$x=5;<br/>$y=10;<br/><br/>function myTest() {<br/> global $x,$y;<br/> $y=$x+$y;<br/>}<br/><br/>myTest();<br/>echo $y; // 输出 15?><br/></span>
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
上面的例子可以这样重写:
<span style="font-size: 14px;"><?php<br/>$x=5;<br/>$y=10;<br/><br/>function myTest() {<br/> $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];<br/>} <br/><br/>myTest();<br/>echo $y; // 输出 15?></span>
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 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>
然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。
注释:该变量仍然是函数的局部变量。
在 PHP 中,有两种基本的输出方法:echo 和 print。
echo 和 print 之间的差异:
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
下面的例子展示如何用 echo 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<span style="font-size: 14px;"><?php<br/>echo "<h2>PHP is fun!</h2>";<br/>echo "Hello world!<br>";<br/>echo "I'm about to learn PHP!<br>";<br/>echo "This", " string", " was", " made", " with multiple parameters.";<br/>?><br/></span>
下面的例子展示如何用 echo 命令来显示字符串和变量:
<span style="font-size: 14px;"><?php<br/>$txt1="Learn PHP";<br/>$txt2="W3School.com.cn";<br/>$cars=array("Volvo","BMW","SAAB");<br/><br/>echo $txt1;<br/>echo "<br>";<br/>echo "Study PHP at $txt2";<br/>echo "My car is a {$cars[0]}";<br/>?><br/></span>
运行结果
Learn PHP
Study PHP at W3School.com.cn
My car is a Volvo
print 也是语言结构,有无括号均可使用:print 或 print()。
下面的例子展示如何用 print 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<span style="font-size: 14px;"><?php<br/>print "<h2>PHP is fun!</h2>";<br/>print "Hello world!<br>";<br/>print "I'm about to learn PHP!";<br/>?><br/></span>
运行结果:
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
字符串、整数、浮点数、逻辑、数组、对象、NULL。
字符串是字符序列,比如 "Hello world!"。
字符串可以是引号内的任何文本。您可以使用单引号或双引号:
<span style="font-size: 14px;"><?php <br/>$x = "Hello world!";<br/>echo $x;<br/>echo "<br>"; <br/>$x = 'Hello world!';<br/>echo $x;<br/>?><br/></span>
整数是没有小数的数字。
整数规则:
整数必须有至少一个数字(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)
浮点数是有小数点或指数形式的数字。
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)
逻辑是 true 或 false。
<span style="font-size: 14px;">$x=true;<br/>$y=false;<br/></span>
逻辑常用于条件测试。
数组在一个变量中存储多个值。
在下面的例子中,我们将测试不同的数组。PHP var_dump() 会返回变量的数据类型和值:
<span style="font-size: 14px;">59cd22544785ff71a3c141103e312b9f<br></span>
运行结果:
array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }
相关文章推荐:《php常用数组函数有哪些?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>
特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
可以通过把值设置为 NULL,将变量清空:
<span style="font-size: 14px;"><?php<br/>$x="Hello world!";<br/>$x=null;<br/>var_dump($x);<br/>?></span>
字符串是字符序列,比如 "Hello world!"。
strlen() 函数返回字符串的长度,以字符计。
下例返回字符串 "Hello world!" 的长度:
<span style="font-size: 14px;"><?php<br/>echo strlen("Hello world!");<br/>?></span>
以上代码的输出是:12
提示:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时。(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)。
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。
常量类似变量,但是常量一旦被定义就无法更改或撤销定义。
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
如需设置常量,请使用 define() 函数 - 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
<span style="font-size: 14px;"> <!DOCTYPE html><br/><html><br/><body><br/><br/><?php<br/>// 定义对大小写敏感的常量<br/>define("GREETING", "Welcome to W3School.com.cn!");<br/>echo GREETING;<br/>echo "<br>";<br/>// 不会输出常量的值<br/>echo greeting;<br/>?> <br/><br/></body><br/></html><br/></span>
运行结果:
Welcome to W3School.com.cn!
greeting
下例创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":
<span style="font-size: 14px;"> <!DOCTYPE html><br/><html><br/><body><br/><br/><?php<br/>// 定义对大小写不敏感的常量<br/>define("GREETING", "Welcome to W3School.com.cn!", true);<br/>echo GREETING;<br/>echo "<br>";<br/>// 会输出常量的值<br/>echo greeting;<br/>?> <br/><br/></body><br/></html><br/></span>
运行结果:
Welcome to W3School.com.cn!
Welcome to W3School.com.cn!
下面介绍可用于 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;">6302147eed9ca26871e6f8f0caddda4e<br></span>
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;">394a46362eb36daf0e15e48fa59540f5<br></span>
运算符 |
名称 |
例子 |
结果 |
. |
串接 |
$txt1 = "Hello" $txt2 = $txt1 . " world!" |
现在 $txt2 包含 "Hello world!" |
.= |
串接赋值 |
$txt1 = "Hello" $txt1 .= " world!" |
现在 $txt1 包含 "Hello world!" |
下例展示了使用字符串运算符的结果:
<span style="font-size: 14px;">fd5265b00ca45c99f89dc0bc07bbc499<br></span>
运算符 |
名称 |
描述 |
++$x |
前递增 |
$x 加一递增,然后返回 $x |
$x++ |
后递增 |
返回 $x,然后 $x 加一递增 |
--$x |
前递减 |
$x 减一递减,然后返回 $x |
$x-- |
后递减 |
返回 $x,然后 $x 减一递减 |
下例展示了使用不同递增/递减运算符的不同结果:
<span style="font-size: 14px;">97825d874b0f29ef8c586cf84297a79b<br></span>
PHP 比较运算符用于比较两个值(数字或字符串):
运算符 |
名称 |
例子 |
结果 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
== |
等于 |
$x == $y |
如果 $x 等于 $y,则返回 true。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
=== |
全等(完全相同) |
$x === $y |
如果 $x 等于 $y,且它们类型相同,则返回 true。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
!= |
不等于 |
$x != $y |
如果 $x 不等于 $y,则返回 true。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a8093152e673feb7aba1828c43532094 |
不等于 |
$x a8093152e673feb7aba1828c43532094 $y |
如果 $x 不等于 $y,则返回 true。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
!== |
不全等(完全不同) |
$x !== $y |
如果 $x 不等于 $y,且它们类型不相同,则返回 true。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> |
大于 |
$x > $y |
如果 $x 大于 $y,则返回 true。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a3374d2f6a9199492cfd86cd15ad9efa= |
大于或等于 |
$x >= $y |
如果 $x 大于或者等于 $y,则返回 true. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e9654e869e212050c2cf49f1fac50499
8.6 PHP 逻辑运算符
8.7 PHP 数组运算符PHP 数组运算符用于比较数组:
下例展示了使用不同数组运算符的不同结果: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br>8c08db18c138479311323084f507e1e9 "red", "b" => "green"); <br>$y = array("c" => "blue", "d" => "yellow"); <br>$z = $x + $y; // $x 与 $y 的联合<br>var_dump($z);<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>var_dump($x == $y);<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>var_dump($x === $y);<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>var_dump($x != $y);<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>var_dump($x a8093152e673feb7aba1828c43532094 $y);<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>var_dump($x !== $y);<br>?> <br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" }
9、PHP if...else...elseif 语句条件语句用于基于不同条件执行不同的动作 9.1 PHP 条件语句在您编写代码时,经常会希望为不同的决定执行不同的动作。您可以在代码中使用条件语句来实现这一点。 在 PHP 中,我们可以使用以下条件语句:
9.2 PHP - if 语句if 语句用于在指定条件为 true 时执行代码。 语法<span style="font-size: 14px;">if (条件) {<br> 当条件为 true 时执行的代码;<br>}<br></span> 下例将输出 "Have a good day!",如果当前时间 (HOUR) 小于 20: 实例<span style="font-size: 14px;">4f95da1c18edd6f88c3697457e90c506<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;">d79e6c3290504424c98803264a6e7e58<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;">c551f593bf8cc3f2196ab9680d6d8d1f<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> 工作原理:
实例<span style="font-size: 14px;">2ffc372022bacce798253b21d3f9fd6a<br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
10、PHP while 循环PHP while 循环在指定条件为 true 时执行代码块。 10.1 PHP 循环在编写代码时,经常需要反复运行同一代码块。可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。 在 PHP 中,我们有以下循环语句:
10.2 PHP while 循环只要指定的条件为真,while 循环就会执行代码块。 语法<span style="font-size: 14px;">while (条件为真) {<br> 要执行的代码;<br>}<br></span> 下例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1: 实例<span style="font-size: 14px;"><?php <br>$x=1; <br><br>while($x<=5) {<br> echo "这个数字是:$x 0c6dc11e160d3b678d68754cc175188a";<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 0c6dc11e160d3b678d68754cc175188a";<br> $x++;<br>} while ($xc03a86e69d40b53767a0b27f1d9133d6<br></span>
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。 下面的例子把 $x 设置为 6,然后运行循环,随后对条件进行检查: 实例<span style="font-size: 14px;"><?php <br>$x=6;<br><br>do {<br> echo "这个数字是:$x 0c6dc11e160d3b678d68754cc175188a";<br> $x++;<br>} while ($xc03a86e69d40b53767a0b27f1d9133d6<br></span>
10.4 PHP for 循环PHP for 循环执行代码块指定的次数。 如果已提前确定脚本运行的次数,可以使用 for 循环。 语法<span style="font-size: 14px;">for (init counter; test counter; increment counter) {<br> code to be executed;<br>}<br></span> 参数:
下面的例子显示了从 0 到 10 的数字: 实例<span style="font-size: 14px;"><?php <br>for ($x=0; $x<=10; $x++) {<br> echo "数字是:$x 0c6dc11e160d3b678d68754cc175188a";<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 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;">dcd4fab923c2480d3ce5d1f782d01efa<br></span> 11.3 PHP 函数参数可以通过参数向函数传递信息。参数类似变量。 参数被定义在函数名之后,括号内部。您可以添加任意多参数,只要用逗号隔开即可。 下面的例子中的函数有一个参数($fname)。当调用 familyName() 函数时,我们同时要传递一个名字(例如 Bill),这样会输出不同的名字,但是姓氏相同: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br><?php<br>function familyName($fname) {<br> echo "$fname Zhang.0c6dc11e160d3b678d68754cc175188a";<br>}<br><br>familyName("Li");<br>familyName("Hong");<br>familyName("Tao");<br>familyName("Xiao Mei");<br>familyName("Jian");<br>?><br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span> 运行结果 Li 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 11.4 PHP 默认参数值下面的例子展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值: 实例<span style="font-size: 14px;"><?php<br>function setHeight($minheight=50) {<br> echo "The height is : $minheight 0c6dc11e160d3b678d68754cc175188a";<br>}<br><br>setHeight(350);<br>setHeight(); // 将使用默认值 50setHeight(135);<br>setHeight(80);<br>?><br></span> 11.5 PHP 函数 - 返回值如需使函数返回值,请使用 return 语句: 实例
<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br><?php<br>function sum($x,$y) {<br> $z=$x+$y;<br> return $z;<br>}<br><br>echo "5 + 10 = " . sum(5,10) . "0c6dc11e160d3b678d68754cc175188a";<br>echo "7 + 13 = " . sum(7,13) . "0c6dc11e160d3b678d68754cc175188a";<br>echo "2 + 4 = " . sum(2,4);<br>?><br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
运行结果: 5 + 10 = 15 12、PHP 数组数组能够在单独的变量名中存储一个或多个值。 实例数组在单个变量中存储多个值: <span style="font-size: 14px;">41e6749dd64e10bf5af2ec03fc80125f<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;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br>37c86f00aaad9d5ddb0dbdf6ae5b3c76<br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span> 运行结果: I like Volvo, BMW and SAAB. 12.4 获得数组的长度 - count() 函数count() 函数用于返回数组的长度(元素数): 实例<span style="font-size: 14px;">3e90df8745a72a2a8c79da22c754f0dd<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 "0c6dc11e160d3b678d68754cc175188a";<br>}<br>?><br></span> 12.6 PHP 关联数组关联数组是使用您分配给数组的指定键的数组。 有两种创建关联数组的方法: <span style="font-size: 14px;">$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");<br></span> 或者: <span style="font-size: 14px;">$age['Peter']="35";<br>$age['Ben']="37";<br>$age['Joe']="43";<br></span> 随后可以在脚本中使用指定键: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br>636ab60132409dff56466e509e63066f"35","Steve"=>"37","Peter"=>"43");<br>echo "Peter is " . $age['Peter'] . " years old.";<br>?><br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
以上例子输出:Peter is 43 years old. 12.7 遍历关联数组如需遍历并输出关联数组的所有值,可以使用 foreach 循环,就像这样: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br>636ab60132409dff56466e509e63066f"35","Steve"=>"37","Peter"=>"43");<br><br>foreach($age as $x=>$x_value) {<br> echo "Key=" . $x . ", Value=" . $x_value;<br> echo "0c6dc11e160d3b678d68754cc175188a";<br>}<br>?><br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
运行结果: Key=Bill, Value=35 12.8 多维数组在PHP 高级知识中再介绍。 13、PHP 数组排序数组中的元素能够以字母或数字顺序进行升序或降序排序。 13.1 PHP - 数组的排序函数PHP 数组排序函数如下 :
13.2 对数组进行升序排序 - sort()下面的例子按照字母升序对数组 $cars 中的元素进行排序: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<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 "0c6dc11e160d3b678d68754cc175188a";<br> }<br>?><br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span> 运行结果: BMW 下面的例子按照数字升序对数组 $numbers 中的元素进行排序: 实例<span style="font-size: 14px;">650154b81a1ea503952be10ea5cefbbd<br></span> 13.3 对数组进行降序排序 - rsort()下面的例子按照字母降序对数组 $cars 中的元素进行排序: 实例<span style="font-size: 14px;">d9007eda92b1e482ee2b416770e04689<br></span>
下面的例子按照数字降序对数组 $numbers 中的元素进行排序: 实例<span style="font-size: 14px;">c54114ddfed9e373aa2eef23d6645de6<br></span> 13.4 根据值对数组进行升序排序 - asort()下面的例子根据值对关联数组进行升序排序: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br>636ab60132409dff56466e509e63066f"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 "0c6dc11e160d3b678d68754cc175188a";<br> }<br>?><br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
运行结果: Key=Bill, Value=35 13.5 根据键对数组进行升序排序 - ksort()下面的例子根据键对关联数组进行升序排序: 实例<span style="font-size: 14px;">636ab60132409dff56466e509e63066f"35","Steve"=>"37","Peter"=>"43");<br>ksort($age);<br>?><br></span> 13.6 根据值对数组进行降序排序 - arsort()下面的例子根据值对关联数组进行降序排序: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br>636ab60132409dff56466e509e63066f"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 "0c6dc11e160d3b678d68754cc175188a";<br> }<br>?><br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
运行结果: Key=Peter, Value=43 13.7 根据键对数组进行降序排序 - krsort()下面的例子根据键对关联数组进行降序排序: 实例<span style="font-size: 14px;">636ab60132409dff56466e509e63066f"35","Steve"=>"37","Peter"=>"43");<br>krsort($age);<br>?><br></span>
14、PHP 全局变量 - 超全局变量超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。 14.1 PHP 全局变量 - 超全局变量PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。 这些超全局变量是:
14.2 $GLOBALS — 引用全局作用域中可用的全部变量$GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。 PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。 下面的例子输出95,展示了如何使用超级全局变量 $GLOBALS: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<br><br>fd9ae064a2ca4d94bd8e700862e7dddb<br><br>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
在上面的例子中,由于 z 是 $GLOBALS 数组中的变量,因此在函数之外也可以访问它。 14.3 PHP $_SERVER$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。 下面的例子展示了如何使用 $_SERVER 中的某些元素: 实例<span style="font-size: 14px;">8b05045a5be5764f313ed5b9168a17e6<br>100db36a723c770d327fc0aef2ce13b1<br>6c04bd5ca3fcae76e30b72ad730ca86d<?php <br>echo $_SERVER['PHP_SELF'];<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>echo $_SERVER['SERVER_NAME'];<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>echo $_SERVER['HTTP_HOST'];<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>echo $_SERVER['HTTP_REFERER'];<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>echo $_SERVER['HTTP_USER_AGENT'];<br>echo "0c6dc11e160d3b678d68754cc175188a";<br>echo $_SERVER['SCRIPT_NAME'];<br>?>36cc49f0c466276486e50c850b7e4956<br>73a6ac4ed44ffec12cee46588e518a5e<br></span>
运行结果; /example/php/demo_php_global_server.php
下表列出了您能够在 $_SERVER 中访问的最重要的元素:
|
以上是Php基礎入門知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!