php初学者基础文档(精美版)
更新时间:2024-03-12 06:22:01 阅读量: 综合文库 文档下载
- php初学者教程推荐度:
- 相关推荐
PHP 简介
PHP 是服务器端脚本语言。
您应当具备的基础知识
在继续学习之前,您需要对以下知识有基本的了解:
? HTML
? CSS
如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。
PHP 是什么?
?
PHP(全称:PHP:Hypertext Preprocessor,即\:超文本预处理器\)是一种通用开源脚本语言。
? PHP 脚本在服务器上执行。
? PHP 可免费下载使用。
PHP 对初学者而言简单易学。
PHP 也为专业的程序员提供了许多先进的功能。
PHP 文件是什么?
?
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
? PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
? PHP 文件的默认文件扩展名是 \
PHP 能做什么?
?
PHP 可以生成动态页面内容
? PHP 可以创建、打开、读取、写入、关闭服务器上的文件
? PHP 可以收集表单数据
? PHP 可以发送和接收 cookies
? PHP 可以添加、删除、修改您的数据库中的数据
? PHP 可以限制用户访问您的网站上的一些页面
? PHP 可以加密数据
通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。
为什么使用 PHP?
?
PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
? PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
? PHP 提供了广泛的数据库支持
? PHP 是免费的,可从官方的 PHP 资源下载它: www.php.net
? PHP 易于学习,并可高效地运行在服务器端
PHP 安装
您需要做什么?
为了开始使用 PHP,您可以:
? 找一个支持 PHP 和 MySQL 的 Web 主机
? 在您自己的 PC 机上安装 Web 服务器,然后安装 PHP 和 MySQL
使用支持 PHP 的 Web 主机
如果您的服务器支持 PHP,那么您不需要做任何事情。
只要在您的 web 目录中创建 .php 文件即可,服务器将自动为您解析这些文件。 您不需要编译任何软件,或安装额外的工具。
由于 PHP 是免费的,大多数的 Web 主机都提供对 PHP 的支持。
在您自己的 PC 机上建立 PHP
然而,如果您的服务器不支持 PHP,您必须:
? 安装 Web 服务器
? 安装 PHP
? 安装数据库,比如 MySQL
官方 PHP 网站(PHP.net)有 PHP 的安装说明: http://php.net/manual/en/install.php PHP 服务器组件
对于初学者建议使用集成的服务器组件,它已经包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。
WampServer
Window 系统可以使用 WampServer,下载地址:http://www.wampserver.com/,支持32位和64位系统,根据自己的系统选择版本。
WampServer 安装也简单,你只需要一直点击 \Next\就可以完成安装了。
XAMPP
XAMPP 支持 Mac OS 和 Window 系统,下载地址:https://www.apachefriends.org/zh_cn/index.html。
IDE (Integrated Development Environment,集成开发环境)
Eclipse for PHP(免费)
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台(如果未安装JDK,则需要先 下载 JDK 安装)。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。 支持 Window、Linux 和 Mac OS 平台。 Eclipse for PHP 官方下载地址:
http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr
PhpStorm(收费)
PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。
PhpStorm 非常适合于PHP开发人员及前端工程师。提供诸于:智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN、GIT)、调试和测试等功能。
支持 Window、Linux 和 Mac OS 平台。 PhpStorm 官方下载地址:http://www.jetbrains.com/phpstorm/download/ PHP 语法 PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。 基本的 PHP 语法 PHP 脚本可以放在文档中的任何位置。 PHP 脚本以 结束: PHP 文件的默认文件扩展名是 \。 PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。 下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 \: 实例
My first PHP page
运行实例 ? PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。
PHP 中的注释
实例
运行实例 ?
PHP 变量
变量是用于存储信息的\容器\:
实例
运行实例 ? 与代数类似
x=5 y=6 z=x+y
在代数中,我们使用字母(如 x),并给它赋值(如 5)。 从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。 在 PHP 中,这些字母被称为变量。
变量是用于存储数据的容器。
PHP 变量
与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。
变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。 PHP 变量规则:
? ? ? ? ?
变量以 $ 符号开始,后面跟着变量的名称 变量名必须以字母或者下划线字符开始
变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ ) 变量名不能包含空格
变量名是区分大小写的($y 和 $Y 是两个不同的变量)
PHP 语句和 PHP 变量都是区分大小写的。
创建(声明)PHP 变量
PHP 没有声明变量的命令。
变量在您第一次赋值给它的时候被创建:
实例
运行实例 ? 在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。 注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。
PHP 是一门弱类型语言
在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。 PHP 会根据变量的值,自动把变量转换为正确的数据类型。
在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
PHP 变量作用域
变量的作用域是脚本中变量可被引用/使用的部分。 PHP 有四种不同的变量作用域:
? local
? global
? static
? parameter
局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。 在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:
实例
\; echo \变量 x 为: $x\ echo \; echo \变量 y 为: $y\} myTest(); echo \测试函数外变量:
\; echo \变量 x 为: $x\echo \; echo \变量 y 为: $y\?> 运行实例 ? 在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。
当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。
然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。
你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内
PHP global 关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
实例
运行实例 ? PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。 上面的实例可以写成这样:
实例
myTest(); echo $y; ?> 运行实例 ?
Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。 要做到这一点,请在您第一次声明变量时使用 static 关键字:
实例
运行实例 ? 然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。 注释:该变量仍然是函数的局部变量。
参数作用域
参数是通过调用代码将值传递给函数的局部变量。 参数是在参数列表中声明的,作为函数声明的一部分:
实例
PHP 5 echo 和 print 语句
在 PHP 中有两个基本的输出方式: echo 和 print。
本章节中我们会详细讨论两个语句的用法,并在实例中演示如何使用 echo 和 print。
PHP echo 和 print 语句
echo 和 print 区别:
? echo - 可以输出一个或多个字符串
? print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
PHP echo 语句
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。 显示字符串
下面的实例演示了如何使用 echo 命令输出字符串(字符串可以包含 HTML 标签):
实例
尝试一下 ? 显示变量
下面的实例演示了如何使用 echo 命令输出变量和字符串:
实例
尝试一下 ?
PHP print 语句
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。 显示字符串
下面的实例演示了如何使用 print 命令输出字符串(字符串可以包含 HTML 标签):
实例
尝试一下 ? 显示变量
下面的实例演示了如何使用 print 命令输出变量和字符串:
实例
尝试一下 ?
PHP 5 数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
PHP 字符串
一个字符串是一串字符的序列,就像 \。 你可以将任何文本放在单引号和双引号中:
实例
尝试一下 ?
PHP 整型
整数是一个没有小数的数字。 整数规则:
? ? ? ? ?
整数必须至少有一个数字 (0-9) 整数不能包含逗号或空格 整数是没有小数点的 整数可以是正数或负数
整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:
实例
尝试一下 ?
PHP 浮点型
浮点数是带小数部分的数字,或是指数形式。
在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:
实例
尝试一下 ? PHP 布尔型 布尔型可以是 TRUE 或 FALSE。 $x=true; $y=false; 布尔型通常用于条件判断。在接下来的章节中你会学到更多关于条件控制的教程。 PHP 数组 数组可以在一个变量中存储多个值。 在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:
实例
尝试一下 ? 在接下来的章节中你将学到更多关于数组的知识。
PHP 对象
对象数据类型也可以用于存储数据。 在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。 然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:
实例
color = $color; } function what_color() { return $this->color; } } ?> 尝试一下 ? 以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。 你将会在接下来的章节中学会更多关于对象的知识。
PHP NULL 值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。 可以通过设置变量值为 NULL 来清空变量数据:
实例
尝试一下 ?
PHP 5 常量
常量值被定义后,在脚本的其他任何地方都不能被改变。
PHP 常量
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。 注意: 常量在整个脚本中都可以使用。
设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:
bool define (string $name , mixed $value [,bool $case_insensitive =false]) 该函数有三个参数:
? name:必选参数,常量名称,即标志符。
? value:必选参数,常量的值。
? case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
以下实例我们创建一个 区分大小写的常量, 常量值为 \欢迎访问 Runoob.com\:
实例
'; echogreeting; // 输出 \ ?> 以下实例我们创建一个 不区分大小写的常量, 常量值为 \欢迎访问 Runoob.com\: 实例
常量是全局的 常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。 以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。 实例
PHP 字符串变量
字符串变量用于存储并处理文本。
PHP 中的字符串变量
字符串变量用于包含有字符的值。
在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。
在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 \。然后我们输出 txt 变量的值:
实例
运行实例 ?
注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。
现在,让我们来看看一些常用的操作字符串的函数和运算符。
PHP 并置运算符
在 PHP 中,只有一个字符串运算符。 并置运算符 (.) 用于把两个字符串值连接起来。 下面的实例演示了如何将两个字符串变量连接在一起:
实例
$txt2=\; echo $txt1 . \. $txt2; ?>
上面的代码将输出:Hello world! What a nice day!
提示:在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。
PHP strlen() 函数
有时知道字符串值的长度是很有用的。 strlen() 函数返回字符串的长度(字符数)。 下面的实例返回字符串 \的长度:
实例
运行实例 ? 上面的代码将输出:12
提示:strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)
PHP strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。 下面的实例在字符串 \中查找文本 \:
实例
运行实例 ? 上面的代码将输出:6
提示:在上面的实例中,字符串 \的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。
PHP 运算符
本章节我们将讨论 PHP 中不同运算符的应用。 在 PHP 中,赋值运算符 = 用于给变量赋值。 在 PHP 中,算术运算符 + 用于把值加在一起。
PHP 算术运算符
运算符
名称
描述
实例
结果
x + y x - y x * y x / y x % y
加 减 乘 除
模(除法的余数)
x 和 y 的和 x 和 y 的差 x 和 y 的积 x 和 y 的商 x 除以 y 的余数
2 + 2 5 - 2 5 * 2 15 / 5 5 % 2 10 % 8 10 % 2
4 3 10 3 1 2 0
- x
取反
x 取反 - 2
a . b 并置 连接两个字符串 \HiHa 以下实例演示了使用不同算术运算符得到的不同结果: 实例
尝试一下 ? PHP7+ 版本新增整除运算符 intdiv(),使用实例:
以上实例会输出:
int(3) PHP 赋值运算符 在 PHP 中,基本的赋值运算符是 \。它意味着左操作数被设置为右侧表达式的值。也就是说,\的值是 5。 运算符 等同于 描述 x = y x += y x = y x = x + y 左操作数被设置为右侧表达式的值 加 x -= y x *= y x /= y x %= y a .= b x = x - y x = x * y x = x / y x = x % y a = a . b 减 乘 除 模(除法的余数) 连接两个字符串 以下实例演示了使用不同赋值运算符得到的不同结果: 实例
尝试一下 ? 以下实例演示了使用不同字符串运算符得到的不同结果:
实例
尝试一下 ? PHP 递增/递减运算符 运算符 名称 描述 ++ x x ++ -- x x -- 预递增 后递增 预递减 后递减 x 加 1,然后返回 x 返回 x,然后 x 加 1 x 减 1,然后返回 x 返回 x,然后 x 减 1 以下实例演示了使用递增/递减运算符得到的结果: 实例
echo --$z; // 输出4 $i=5; echo $i--; // 输出5 ?> 尝试一下 ? PHP 比较运算符
比较操作符可以让您比较两个值: 运算符
名称
描述
实例
x == y x === y
等于 恒等于
如果 x 等于 y,则返回 true 5==8 返回 false 如果 x 等于 y,且它们类型相5===\返回 false 同,则返回 true
x != y
不等于
如果 x 不等于 y,则返回 true
5!=8 返回 true
x <> y
不等于
如果 x 不等于 y,则返回 true
5<>8 返回 true
x !== y
不恒等于
如果 x 不等于 y,或它们类型5!==\返回 true 不相同,则返回 true
x > y x < y
大于 小于
如果 x 大于 y,则返回 true 5>8 返回 false 如果 x 小于 y,则返回 true 5<8 返回 true
x >= y 大于等于 如果 x 大于或者等于 y,则返5>=8 返回 false 回 true x <= y 小于等于 如果 x 小于或者等于 y,则返5<=8 返回 true 回 true 以下实例演示了使用一些比较运算符得到的不同结果: 实例
$b); echo \var_dump($a < $b); ?> 尝试一下 ? PHP 逻辑运算符 运算符 名称 描述 实例 x and y
与
如果 x 和 y 都为 true,则返x=6 回 true
y=3
(x < 10 and y > 1) 返回 true
x or y
或
如果 x 和 y 至少有一个为 true,则返回 true
x=6 y=3
(x==6 or y==5) 返回 true
x xor y
异或
如果 x 和 y 有且仅有一个为 x=6 true,则返回 true
y=3
(x==6 xor y==3) 返回 false
x && y
与
如果 x 和 y 都为 true,则返x=6 回 true
y=3
(x < 10 && y > 1) 返回 true
x || y
或
如果 x 和 y 至少有一个为 true,则返回 true
x=6 y=3
(x==5 || y==5) 返回 false
! x 非 如果 x 不为 true,则返回 true x=6 y=3 !(x==y) 返回 true PHP 数组运算符 运算符 名称 描述 x + y x == y x === y 集合 相等 恒等 x 和 y 的集合 如果 x 和 y 具有相同的键/值对,则返回 true 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true x != y x <> y x !== y 不相等 不相等 不恒等 如果 x 不等于 y,则返回 true 如果 x 不等于 y,则返回 true 如果 x 不等于 y,则返回 true 以下实例演示了使用一些数组运算符得到的不同结果: 实例
$y); var_dump($x !== $y); ?> 尝试一下 ? 三元运算符
另一个条件运算符是\(或三元)运算符 。
语法格式
(expr1)?(expr2):(expr3) 对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
实例
以下实例中通过判断 $_GET 请求中含有 user 值,如果有返回 $_GET['user'],否则返回 nobody:
$test ='菜鸟教程'; // 普通写法
$username = isset($test)? $test :'nobody'; echo $username, PHP_EOL;
// PHP 5.3+ 版本写法
$username = $test ?:'nobody'; echo $username, PHP_EOL;?> 菜鸟教程菜鸟教程
注意:PHP_EOL 是一个换行符,兼容更大平台。
在 PHP7+ 版本多了一个 NULL 合并运算符,实例如下:
组合比较符(PHP7+)
PHP7+ 支持组合比较符,实例如下:
1;// 0 echo 1<=>2;// -1 echo 2<=>1;// 1 // 浮点型
echo 1.5<=>1.5;// 0 echo 1.5<=>2.5;// -1 echo 2.5<=>1.5;// 1 // 字符串
echo \<=>\;// 0 echo \<=>\;// -1 echo \<=>\;// 1?>
PHP If...Else 语句
条件语句用于根据不同条件执行不同动作。
PHP 条件语句
当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。 在 PHP 中,提供了下列条件语句:
? if 语句 - 在条件成立时执行代码
? if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
? if...else if....else 语句 - 在若干条件之一成立时执行一个代码块
? switch 语句 - 在若干条件之一成立时执行一个代码块
PHP - if 语句
if 语句用于仅当指定条件成立时执行代码。
语法
if(条件){ 条件成立时要执行的代码;} 如果当前时间小于 20,下面的实例将输出 \:
实例
运行实例 ?
PHP - if...else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。
语法
if (条件) { 条件成立时执行的代码; } else { 条件不成立时执行的代码; } 如果当前时间小于 20,下面的实例将输出 \,否则输出 \: 实例
运行实例 ?
PHP - if...else if....else 语句
在若干条件之一成立时执行一个代码块,请使用 if....else if...else 语句。.
语法
if (条件) { if 条件成立时执行的代码; } else if (条件) { elseif 条件成立时执行的代码; } else { 条件不成立时执行的代码; } 如果当前时间小于 10,下面的实例将输出 \,如果当前时间不小于 10 且小于 20,则输出 \,否则输出 \: 实例
运行实例 ?
PHP Switch 语句
switch 语句用于根据多个不同条件执行不同动作。
PHP Switch 语句
如果您希望有选择地执行若干代码块之一,请使用 switch 语句。
语法
switch(n){case label1: 如果 n=label1,此处代码将执行; break;case label2: 如果 n=label2,此处代码将执行; break;default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行;} 工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。
实例
default: echo \你喜欢的颜色不是 红, 蓝, 或绿色!\} ?> PHP 数组
数组能够在单个变量中存储多个值:
实例
运行实例 ? 数组是什么? 数组是一个能在单个变量中存储多个值的特殊变量。 如果您有一个项目清单(例如:车名字的清单),将其存储到单个变量中,如下所示: $cars1=\$cars2=\$cars3=\然而,如果您想要遍历数组并找出特定的一个呢?如果数组的项不只 3 个而是 300 个呢? 解决办法是创建一个数组! 数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。 在 PHP 中创建数组 在 PHP 中,array() 函数用于创建数组: array(); 在 PHP 中,有三种类型的数组: ? 数值数组 - 带有数字 ID 键的数组
? 关联数组 - 带有指定的键的数组,每个键关联一个值
? 多维数组 - 包含一个或多个数组的数组
PHP 数值数组 这里有两种创建数值数组的方法: 自动分配 ID 键(ID 键总是从 0 开始): $cars=array(\人工分配 ID 键: $cars[0]=\$cars[1]=\$cars[2]=\下面的实例创建一个名为 $cars 的数值数组,并给数组分配三个元素,然后打印一段包含数组值的文本: 实例
运行实例 ?
获取数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素的数量):
实例
运行实例 ?
遍历数值数组
遍历并打印数值数组中的所有值,您可以使用 for 循环,如下所示:
实例
运行实例 ? PHP 关联数组 关联数组是使用您分配给数组的指定的键的数组。 这里有两种创建关联数组的方法: $age=array(\or: $age['Peter']=\$age['Ben']=\$age['Joe']=\随后可以在脚本中使用指定的键: 实例
运行实例 ?
遍历关联数组
遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:
实例
$x_value) { echo \echo \} ?> 运行实例 ?
PHP 数组排序
数组中的元素可以按字母或数字顺序进行降序或升序排列。
PHP - 数组排序函数
在本章中,我们将一一介绍下列 PHP 数组排序函数:
? sort() - 对数组进行升序排列
? rsort() - 对数组进行降序排列
? asort() - 根据关联数组的值,对数组进行升序排列
? ksort() - 根据关联数组的键,对数组进行升序排列
? arsort() - 根据关联数组的值,对数组进行降序排列
? krsort() - 根据关联数组的键,对数组进行降序排列
sort() - 对数组进行升序排列
下面的实例将 $cars 数组中的元素按照字母升序排列:
实例
运行实例 ? 下面的实例将 $numbers 数组中的元素按照数字升序排列:
实例
运行实例 ?
rsort() - 对数组进行降序排列
下面的实例将 $cars 数组中的元素按照字母降序排列:
实例
运行实例 ? 下面的实例将 $numbers 数组中的元素按照数字降序排列:
实例
运行实例 ?
asort() - 根据数组的值,对数组进行升序排列
下面的实例根据数组的值,对关联数组进行升序排列:
实例
运行实例 ?
ksort() - 根据数组的键,对数组进行升序排列
下面的实例根据数组的键,对关联数组进行升序排列:
实例
运行实例 ?
arsort() - 根据数组的值,对数组进行降序排列
下面的实例根据数组的值,对关联数组进行降序排列:
实例
运行实例 ?
krsort() - 根据数组的键,对数组进行降序排列
下面的实例根据数组的键,对关联数组进行降序排列:
实例
运行实例 ?
PHP 超级全局变量
超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。
PHP 超级全局变量
PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表:
? $GLOBALS
? $_SERVER
? $_REQUEST
? $_POST
? $_GET
? $_FILES
? $_ENV
? $_COOKIE
? $_SESSION
本章节我们将讲解几个常用的超级全局变量,其余变量我们在接下来几个章节会介绍到。
PHP $GLOBALS
$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。 $GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。 以下实例介绍了如何使用超级全局变量 $GLOBALS:
实例
运行实例 ? 以上实例中 z 是一个$GLOBALS数组中的超级全局变量,该变量同样可以在函数外访问。
PHP $_SERVER
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。 以下实例中展示了如何使用$_SERVER中的元素:
实例
运行实例 ? 下表列出了所有 $_SERVER 变量中的重要元素: 元素/代码
描述
$_SERVER['PHP_SELF'] 当前执行脚本的文件名,与 document root 有关。例如,在地http://example.com/test.php/foo.bar 的脚本中使用
$_SERVER['PHP_SELF'] 将得到 /test.php/foo.bar。__FIL
量包含当前(例如包含)文件的完整路径和文件名。 从 PHP 4.3
本开始,如果 PHP 以命令行模式运行,这个变量将包含脚本名的版本该变量不可用。
$_SERVER['GATEWAY_INTERFACE'] $_SERVER['SERVER_ADDR'] $_SERVER['SERVER_NAME']
服务器使用的 CGI 规范的版本;例如,\。 当前运行脚本所在的服务器的 IP 地址。
当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机
名称是由那个虚拟主机所设置的值决定。(如: www.runoob.com服务器标识字符串,在响应请求时的头信息中给出。 (如:Apache/2.2.24)
$_SERVER['SERVER_SOFTWARE']
$_SERVER['SERVER_PROTOCOL'] $_SERVER['REQUEST_METHOD'] $_SERVER['REQUEST_TIME'] $_SERVER['QUERY_STRING'] $_SERVER['HTTP_ACCEPT']
请求页面时通信协议的名称和版本。例如,\。
访问页面使用的请求方法;例如,\,\,\
请求开始时的时间戳。从 PHP 5.1.0 起可用。 (如:137768
query string(查询字符串),如果有的话,通过它进行页面访当前请求头中 Accept: 项的内容,如果存在的话。
$_SERVER['HTTP_ACCEPT_CHARSET'] 当前请求头中 Accept-Charset: 项的内容,如果存在的话。例
\。
$_SERVER['HTTP_HOST'] $_SERVER['HTTP_REFERER']
当前请求头中 Host: 项的内容,如果存在的话。
引导用户代理到当前页的前一页的地址(如果存在)。由 user ag
置决定。并不是所有的用户代理都会设置该项,有的还提供了修HTTP_REFERER 的功能。简言之,该值并不可信。)
$_SERVER['HTTPS']
$_SERVER['REMOTE_ADDR'] $_SERVER['REMOTE_HOST']
如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。浏览当前页面的用户的 IP 地址。
浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的REMOTE_ADDR。
$_SERVER['REMOTE_PORT'] $_SERVER['SCRIPT_FILENAME']
用户机器上连接到 Web 服务器所使用的端口号。 当前执行脚本的绝对路径。
$_SERVER['SERVER_ADMIN'] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN
如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。someone@runoob.com)
$_SERVER['SERVER_PORT']
Web 服务器使用的端口。默认值为 \。如果使用 SSL 安全则这个值为用户设置的 HTTP 端口。
$_SERVER['SERVER_SIGNATURE'] $_SERVER['PATH_TRANSLATED'] $_SERVER['SCRIPT_NAME']
包含了服务器版本和虚拟主机名的字符串。
当前脚本所在文件系统(非文档根目录)的基本路径。这是在服行虚拟到真实路径的映像后的结果。
包含当前脚本的路径。这在页面需要指向自己时非常有用。__FIL量包含当前脚本(例如包含文件)的完整路径和文件名。
$_SERVER['SCRIPT_URI']
URI 用来指定要访问的页面。例如 \。
PHP $_REQUEST
PHP $_REQUEST 用于收集HTML表单提交的数据。
以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 \按钮提交表单数据时, 表单数据将发送至