php初学者基础文档(精美版)

更新时间:2024-03-12 06:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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)。 当用户通过点击 \按钮提交表单数据时, 表单数据将发送至 运行实例 ?

PHP $_POST

PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:\。 以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 \按钮提交表单数据时, 表单数据将发送至 运行实例 ? PHP $_GET PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:\。 $_GET 也可以收集URL中发送的数据。 假定我们有一个包含参数的超链接HTML页面: 当用户点击链接 \参数 \和 \将发送至\你可以在 \文件中使用 $_GET 变量来获取这些数据。 以下实例显示了 \文件的代码: 实例

运行实例 ?

PHP 循环 - While 循环

循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。

PHP 循环

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

在 PHP 中,提供了下列循环语句:

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

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

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

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

while 循环

while 循环将重复执行代码块,直到指定的条件不成立。

语法

while (条件) { 要执行的代码; } 实例 下面的实例首先设置变量 i 的值为 1 ($i=1;)。 然后,只要 i 小于或者等于 5,while 循环将继续运行。循环每运行一次,i 就会递增 1:

本文来源:https://www.bwwdw.com/article/hes8.html

Top