引言
PHP的教程我还是按照所用即所得的方式来写吧,本身对PHP的认识也不系统,因此,摸着石头过河,披荆斩棘吧~
目录
- error_reporting() 函数
- ini_set("display_errors","On")
- php include,require,include_once,require_once 的区别
- PHP 语法
- PHP 变量
- PHP 变量作用域
- PHP 5 echo 和 print 语句
- PHP 数据类型
- PHP 字符串函数
- PHP 常量
- PHP 运算符
- PHP if...else...elseif 语句
- PHP for 循环
- PHP 函数
- PHP 数组
- PHP 数组排序
- PHP 全局变量 - 超全局变量
PHP error_reporting() 函数
规定不同的错误级别报告:
<?php
// 关闭错误报告
error_reporting(0);
// 报告 runtime 错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// 报告所有错误
error_reporting(E_ALL);
// 等同 error_reporting(E_ALL);
ini_set("error_reporting", E_ALL);
// 报告 E_NOTICE 之外的所有错误
error_reporting(E_ALL & ~E_NOTICE);
?>
定义和用法
error_reporting() 函数规定你应该报告何种 PHP 错误。
error_reporting() 函数能够在运行时设置 error_reporting 指令。
PHP 有诸多错误级别,使用该函数可以设置在脚本运行时的级别。如果没有设置可选参数 level,error_reporting() 仅会返回当前的错误报告级别。
语法
error_reporting(level);
level :可选。规定新的 error_reporting 级别。可以是一个位掩码也可以是一个已命名的常量。
注释:强烈建议使用已命名的常量,以确保兼容将来的版本。由于错误级别的添加、整数取值范围的增加,较久的基于整数的错误级别不会总是和预期的表现一致。
可用的错误级别常量及其实际含义描述在了 predefined constants 中。
如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:
值 | 常量 | 描述 |
---|---|---|
1 | E_ERROR | 致命的运行错误。错误无法恢复,暂停执行脚本。 |
2 | E_WARNING | 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。 |
4 | E_PARSE | 编译时解析错误。解析错误只由分析器产生。 |
8 | E_NOTICE | 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。) |
16 | E_CORE_ERROR | PHP启动时初始化过程中的致命错误。 |
32 | E_CORE_WARNING | PHP启动时初始化过程中的警告(非致命性错)。 |
64 | E_COMPILE_ERROR | 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。 |
128 | E_COMPILE_WARNING | 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。 |
256 | E_USER_ERROR | 用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR) |
512 | E_USER_WARNING | 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告) |
1024 | E_USER_NOTICE | 用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集) |
2048 | E_STRICT | 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。 |
4096 | E_RECOVERABLE_ERROR | 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler()) |
8191 | E_ALL | 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0) |
ini_set("display_errors","On")
在用php做网站开发的时候 , 为防止用户看到错误信息,而出现不友好的界面。故一般性会在php.ini
里设置:
display_errors = Off;
不过在开发的时候,我们有时候需要打开错误信息。这时候,可以在php文件里设置:
ini_set("display_errors","On");
error_reporting(E_ALL);
不过有时候我们即使这样设置了,还是无法显示php里的语法错误。
这是由于php文件的语法错误导致该文件根本没有被执行,所以当然不会显示错误信息
解决方法:
假设这个php里有语法错误
你可以新建一个test.php,然后在该php里如下编辑:
ini_set("display_errors","On");
error_reporting(E_ALL);
include("目标文件");
这样,当你在运行test.php的时候 程序就会报其中的错误语法.
error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
后者的权限大于前者,后者是OFF的话,前者就算是E-ALL也没用。
PHP include,require,include_once,require_once 的区别
include()
,require()
,include_once()
,require_once()
作用都是包含并运行指定文件,但是使用场景又有很大区别。
1.include()和require()的区别:
include()引入文件时,如果遇到错误会提示错误并继续执行;require()引入文件遇到错误时也提示错误但会终止程序的运行。
require()语句一般放在php脚本页面的最前面,php在执行前,就先读入require()引入的文件,文件的内容会变成此脚本的一部分,一旦出现错误,则立即退出程序。
include()语句一般在用到时才引入,所以通常是放在流程控制的处理区段中,php脚本在执行到它时,才会将文件包含进来。
即require()是预加载机制,位置在脚本最前面,一开始就引入所有可能用到的文件;include()是即用即加载,位置灵活。
2.include()、require()和include_once()、require_once()的区别:
include()、require()执行即包含文件,不会对引入的文件进行比较判断,可能会出现重复包含的情况;而include_once()、require_once()在包含时会先判断文件是否已经包含过了,如果已包含,则不再包含文件,这样的引入文件方式即可以节省资源,又可避免重复定义的错误。
PHP 语法
PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。
PHP 脚本可放置于文档中的任何位置。
PHP 脚本以 <?php 开头,以 ?> 结尾:
<?php
// 此处是 PHP 代码
?>
PHP 文件的默认文件扩展名是 ".php"。
PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。
下面的例子是一个简单的 PHP 文件,其中包含了使用内建 PHP 函数 "echo" 在网页上输出文本 "Hello World!" 的一段 PHP 脚本:
实例
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张 PHP 页面</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
注释:PHP 语句以分号结尾(;)。PHP 代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号)。
PHP 支持三种注释:
实例
<!DOCTYPE html>
<html>
<body>
<?php
// 这是单行注释
# 这也是单行注释
/*
这是多行注释块
它横跨了
多行
*/
?>
</body>
</html>
PHP 大小写敏感
在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
在下面的例子中,所有这三条 echo 语句都是合法的(等价):
<!DOCTYPE html>
<html>
<body>
<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>
</body>
</html>
不过在 PHP 中,所有变量都对大小写敏感。
在下面的例子中,只有第一条语句会显示 $color 变量的值(这是因为 $color、$COLOR 以及 $coLOR 被视作三个不同的变量):
<!DOCTYPE html>
<html>
<body>
<?php
$color="red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>
</body>
</html>
PHP 变量
变量是存储信息的容器:
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
注释:请把变量视为存储数据的容器。
PHP 变量命名规则:
- 变量以 $ 符号开头,其后是变量的名称
- 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
PHP 没有创建变量的命令。
变量会在首次为其赋值时被创建:
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
注释:如果您为变量赋的值是文本,请用引号包围该值。
PHP 变量作用域
在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:
- local(局部)
- global(全局)
- static(静态)
Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
下面的例子测试了带有局部和全局作用域的变量:
<?php
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "<p>测试函数内部的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
}
myTest();
echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>
在上例中,有两个变量 $x 和 $y,以及一个函数 myTest()。$x 是全局变量,因为它是在函数之外声明的,而 $y 是局部变量,因为它是在函数内声明的。
如果我们在 myTest() 函数内部输出两个变量的值,$y 会输出在本地声明的值,但是无法 $x 的值,因为它在函数之外创建。
然后,如果在 myTest() 函数之外输出两个变量的值,那么会输出 $x 的值,但是不会输出 $y 的值,因为它是局部变量,并且在 myTest() 内部创建。
注释:您可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。
PHP global 关键词
global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
上面的例子可以这样重写:
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 输出 15
?>
PHP static 关键词
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 static 关键词:
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
PHP 5 echo 和 print 语句
在 PHP 中,有两种基本的输出方法:echo 和 print。
echo 和 print 之间的差异:
- echo - 能够输出一个以上的字符串
- print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
显示字符串
下面的例子展示如何用 echo 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<?php
echo "<h2>PHP is fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
?>
下面的例子展示如何用 echo 命令来显示字符串和变量:
<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");
echo $txt1;
echo "<br>";
echo "Study PHP at $txt2";
echo "My car is a {$cars[0]}";
?>
print 也是语言结构,有无括号均可使用:print 或 print()。
显示字符串
下面的例子展示如何用 print 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<?php
print "<h2>PHP is fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>
PHP 数据类型
字符串、整数、浮点数、逻辑、数组、对象、NULL。
PHP 字符串
字符串是字符序列,比如 "Hello world!"。
字符串可以是引号内的任何文本。您可以使用单引号或双引号:
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
PHP 对象
对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
PHP NULL 值
特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
可以通过把值设置为 NULL,将变量清空:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
PHP 字符串函数
字符串是字符序列,比如 "Hello world!"。
PHP strlen() 函数
strlen() 函数返回字符串的长度,以字符计。
下例返回字符串 "Hello world!" 的长度:
<?php
echo strlen("Hello world!");
?>
PHP strpos() 函数
strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
下例检索字符串 "Hello world!" 中的文本 "world":
<?php
echo strpos("Hello world!","world");
?>
PHP 常量
常量类似变量,但是常量一旦被定义就无法更改或撤销定义。
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
如需设置常量,请使用 define()
函数 - 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
下例创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":
<?php
define("GREETING", "Welcome to W3School.com.cn!", true);
echo greeting;
?>
PHP 运算符
PHP 算数运算符
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出 16
echo ($x - $y); // 输出 4
echo ($x * $y); // 输出 60
echo ($x / $y); // 输出 1.6666666666667
echo ($x % $y); // 输出 4
?>
PHP 赋值运算符
PHP 赋值运算符用于向变量写值。
PHP 中基础的赋值运算符是 "="。这意味着右侧赋值表达式会为左侧运算数设置值。
<?php
$x=10;
echo $x; // 输出 10
$y=20;
$y += 100;
echo $y; // 输出 120
$z=50;
$z -= 25;
echo $z; // 输出 25
$i=5;
$i *= 6;
echo $i; // 输出 30
$j=10;
$j /= 5;
echo $j; // 输出 2
$k=15;
$k %= 4;
echo $k; // 输出 3
?>
PHP 字符串运算符
. 串接
.= 串接赋值
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出 Hello world!
$x="Hello";
$x .= " world!";
echo $x; // 输出 Hello world!
?>
PHP 递增/递减运算符
<?php
$x=10;
echo ++$x; // 输出 11
$y=10;
echo $y++; // 输出 10
$z=5;
echo --$z; // 输出 4
$i=5;
echo $i--; // 输出 5
?>
PHP 比较运算符
PHP 比较运算符用于比较两个值(数字或字符串):
<!DOCTYPE html>
<html>
<body>
<?php
$x=100;
$y="100";
var_dump($x == $y); // 因为值相等,返回 true
echo "<br>";
var_dump($x === $y); // 因为类型不相等,返回 false
echo "<br>";
var_dump($x != $y); // 因为值相等,返回 false
echo "<br>";
var_dump($x !== $y); // 因为值不相等,返回 true
echo "<br>";
$a=50;
$b=90;
var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>
</body>
</html>
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。 |
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。 |
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 与 $y 的联合
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>
PHP if...else...elseif 语句
条件语句用于基于不同条件执行不同的动作
PHP 条件语句
在您编写代码时,经常会希望为不同的决定执行不同的动作。您可以在代码中使用条件语句来实现这一点。
在 PHP 中,我们可以使用以下条件语句:
- if 语句 - 如果指定条件为真,则执行代码
- if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
- if...elseif....else 语句 - 选择若干段代码块之一来执行
- switch 语句 - 语句多个代码块之一来执行
下例将输出 "Have a good morning!",如果当前时间 (HOUR) 小于 10,如果当前时间小于 20,则输出 "Have a good day!"。否则将输出 "Have a good night!":
<?php
$t=date("H");
if ($t<"10") {
echo "Have a good morning!";
} elseif ($t<"20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>
Switch 语句
如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
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;
}
工作原理:
- 对表达式(通常是变量)进行一次计算
- 把表达式的值与结构中 case 的值进行比较
- 如果存在匹配,则执行与 case 关联的代码
- 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
- 如果没有 case 为真,则使用 default 语句
<?php
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";
}
?>
</body>
</html>
PHP for 循环
PHP for 循环执行代码块指定的次数。
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
for (init counter; test counter; increment counter) {
code to be executed;
}
参数:
- init counter:初始化循环计数器的值
- test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
- increment counter:增加循环计数器的值
下面的例子显示了从 0 到 10 的数字:
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>
PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
foreach ($array as $value) {
code to be executed;
}
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
实例
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
PHP 函数
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
PHP 用户定义函数
除了内建的 PHP 函数,我们可以创建我们自己的函数。
函数是可以在程序中重复使用的语句块。
页面加载时函数不会立即执行。
函数只有在被调用时才会执行。
在 PHP 创建用户定义函数
用户定义的函数声明以关单 "function" 开头:
语法
function functionName() {
被执行的代码;
}
注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。
在下面的例子中,我们创建名为 "writeMsg()" 的函数。打开的花括号({)指示函数代码的开始,而关闭的花括号(})指示函数的结束。此函数输出 "Hello world!"。如需调用该函数,只要使用函数名即可:
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 调用函数
?>
PHP 函数参数
可以通过参数向函数传递信息。参数类似变量。
参数被定义在函数名之后,括号内部。您可以添加任意多参数,只要用逗号隔开即可。
下面的例子中的函数有一个参数($fname)。当调用 familyName() 函数时,我们同时要传递一个名字(例如 Bill),这样会输出不同的名字,但是姓氏相同:
<?php
function familyName($fname) {
echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
familyName("Tao");
familyName("Xiao Mei");
familyName("Jian");
?>
PHP 默认参数值
下面的例子展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>
PHP 函数 - 返回值
如需使函数返回值,请使用 return 语句:
<?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>
PHP 数组
数组能够在单独的变量名中存储一个或多个值。
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
在 PHP 中创建数组
在 PHP 中, array() 函数用于创建数组:
array();
在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组
- 关联数组 - 带有指定键的数组
- 多维数组 - 包含一个或多个数组的数组
PHP 索引数组
有两种创建索引数组的方法:
- 索引是自动分配的(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
- 或者也可以手动分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本:
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
获得数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素数):
<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>
遍历索引数组
如需遍历并输出索引数组的所有值,您可以使用 for 循环,就像这样:
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
?>
PHP 关联数组
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
随后可以在脚本中使用指定键:
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
遍历关联数组
如需遍历并输出关联数组的所有值,您可以使用 foreach 循环,就像这样:
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
PHP 数组排序
数组中的元素能够以字母或数字顺序进行升序或降序排序。
PHP - 数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
对数组进行升序排序 - sort()
下面的例子按照字母升序对数组 $cars 中的元素进行排序:
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>
PHP 全局变量 - 超全局变量
超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。
PHP 全局变量 - 超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION