Skip to content
电脑工程师入门

电脑工程师入门

create tomorrow, create happiness

  • 实用软件教程
    • Excel
    • WordPress
    • Powerpoint
    • PowerApps
    • PowerAutomateDesk
  • 计算机语言入门
    • PHP
    • Bootstrap
    • JavaScript
    • Python
    • HTML
    • WordPress
  • 咨询
  • Home
  • PHP
  • 第八章数组的讲解
  • HOME
  • PHP
  • 第八章数组的讲解

第八章数组的讲解

PHP

数组是一种类似于数字和字符串的数据类型,可以管理由键值对组成的多个元素。在本文中,我将解释如何在 PHP 中使用数组。

8-1 使用数组

首先,让我们看看如何使用数组。例如,考虑为三个人保存成绩的情况。

$chengji1 = 80;
$chengji2 = 95;
$chengji3 = 68;

我们准备三个变量,在每个变量中存储成绩值。

这三个变量的目的相似,但它们都是独立的变量。如果要打印每个存储的值,则需要编写如下:

$chengji1 = 80;
$chengji2 = 95;
$chengji3 = 68;

print $chengji1;
print $chengji2;
print $chengji3;

如果存3个值还可以,但是如果有100个,就要排100条打印语句。

数组在这种情况下很有用。首先,让我们使用数组重写它。

$chengji[0] = 80;
$chengji[1] = 95;
$chengji[2] = 68;

print $chengji[0];
print $chengji[1];
print $chengji[2];

准备单个数组「chengji」,而不是一个变量。您可以在单个数组中存储任意数量的值。要从数组中检索值,将具有唯一值的键与值分开存储。存储时,可以将key和value作为pair进行存储,检索时,可以通过指定key来检索指定的值。

那么与变量相比有什么优势呢?使用为数组提供的迭代、语法和函数等,可以使用存储的值高效地操作数组。例如,结合重复处理可以描述如下。

$chengji[0] = 80;
$chengji[1] = 95;
$chengji[2] = 68;

for ($i = 0; $i < 3; $i++){
  print $chengji[$i];
}

整数和字符串都可以用作数组键,这将在下一节详细说明。如果您使用整数作为键,则可以通过使用 for 语句更改键的值来按顺序检索值。使用这种方法,即使有100个存储值,你所要做的只是改变for语句的条件表达式。

您还可以使用为数组提供的 foreach 语句。

$chengji[0] = 80;
$chengji[1] = 95;
$chengji[2] = 68;

foreach ($chengji as $val){
  print $val;
}

当管理以相同方式使用的多个值时,数组是有效的。反过来,在一个数组中管理完全不同目的的值也没有多大意义。

然后,我们将从下一节开始检查数组的详细用法。

示例代码

让我们用一个简单的程序来试试吧。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TES</title>
</head>
<body>

<p>PHP TEST</p>

<p>
<?php
$chengji[0] = 80;
$chengji[1] = 95;
$chengji[2] = 68;

for ($i = 0; $i < 3; $i++){
  print $chengji[$i].'<br />';
}
?>
</p>

</body>
</html>

如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下

8-2 在数组中存储和检索值

现在让我们看看如何使用数组。要使用数组,请编写:

$数组变量名

数组和变量一样,不需要提前声明。当您尝试将值存储在不存在的数组中时,会自动创建一个数组。数组变量用“$”+数组变量名表示,可以作为数组名称的规则和变量名的规则是一样的,以下划线或字母开头,以下划线,数字,字母组成的字符串。

数组管理多条数据,每条数据称为一个元素。所以数组包含多个元素。元素存储键值对。键是从数组中取值的,同一个键不能存在于一个数组中。通过指定键,您可以识别元素并提取元素中包含的值。

数组在元素中存储值并从元素中检索值。要表示数组中的特定元素,请在数组变量后方括号中指定键。

$数组变量名[key]

要创建一个新元素并存储值:

$数组变量名 [key] = value;

如果指定数组中已存在的键,则存储由该键确定的元素的新值。如果您指定一个不存在的键,则创建一个新元素并存储该值。

要从数组中提取值,请按如下方式编写元素。

$变量 = $数组变量名 [key];

在这种情况下,与指定键对应的元素中包含的值存储在变量中。

您可以指定整数或字符串,但我们将在下一节中详细介绍如何指定KEY

$chenji['english'] = 72;
$chenji['math'] = 82;

$name[0] = 'Yuhua';
$name[1] = 'Jiangming';

print $name[0];

print_r 函数

print_r 函数对于检查数组中包含的变量值很有用。如果您指定一个数组变量作为该函数的参数,它将输出包含在该数组中的元素列表。

print_r($数组变量名);

请记住,当你想在开发阶段检查数组的内容时,它经常被使用。

例如:

$chenji['english'] = 72;
$chenji['math'] = 82;

print_r($chenji);

请检查以下示例以查看其输出方式。

示例代码

让我们用一个简单的程序来试试吧。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>

<p>PHP TEST</p>

<pre>
<?php
$chenji[0] = 82;
$chenji[1] = 91;
$chenji[2] = 65;

print_r($chenji);
?>
</pre>

</body>
</html>

如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。

print_r 以 [key] => value 格式输出每个元素。

8-3 数组中KEY的指定

必须指定键才能在数组中创建元素或从元素中检索值。PHP 中的数组可以使用整数和字符串作为键。

为键指定整数时,除了正数之外,还可以指定负数。

$var[0] = 14;
$var[2] = 'Tokyo';
$var[-4] = 8400;

创建多个元素时,键不必是连续整数。

但是为键指定字符串时,必须用单引号括起来。

$var['yamada'] = 86;
$var["endou"] = 75;
$var['aichi'] = 'nagoya';

如果您指定一个字符串而不用引号括起来,则不会发生错误,但会被视为指定了一个未定义的常量。请务必用单引号括起来。

请注意,如果键是由表示整数的数字组成的字符串,它将被视为指定了整数。请参见以下示例。

$var['8'] = 75;

在这种情况下,为键指定了一个字符串,但由于该字符串表示整数 8,因此它被视为好像指定了一个整数键,如下所示。

$var[8] = 75;

即使key是一个由数字组成的字符串,如果它是一个以0开头的字符串,比如“08”,key的字符串“08”。

$var['08'] = 75;

本例中的键只是字符串“08”。

使用变量或常量指定键

除了直接将整数和字符串写成键外,还可以指定存储整数和字符串的变量。

$key = 'apple';
$var[$key] = 120;

此外,当字符串被指定为关键字时,还可以在字符串中描述变量并执行变量扩展。

$key = 'apple';
$var["price_$key"] = 120;

也可以使用定义为键的常量来指定。

define("INDEX_KEY", 9);
$var[INDEX_KEY] = 115;

示例代码

让我们用一个简单的程序来试试吧。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>

<p>PHP TEST</p>

<pre>
<?php
$key = 'apple';
$var["price_$key"] = 120;

define("PURPLE", 'price_purple');
$var[PURPLE] = 86;

print_r($var);
?>
</pre>

</body>
</html>

如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。

8-4 Key的自動生成

为了将新元素添加到数组,需要提前指定键和值。可以为键指定整数或字符串,但也可以省略键。例如,如果省略Key,则编写如下。

$var[] = 99;
$var[] = 'Shanghai';

如果省略键,则会自动分配一个整数键。给定的整数键是一个加上当前分配为键的最大整数。如果没有整型key,则从0开始赋值。

在前面的例子中,第一个元素的key是0,而下一个元素是1,因为它是当前存在的整数最大的key加1得到的整数。因此,通过print_r函数输出时,会是这样的。

Array
(
    [0] => 100
    [1] => Shanghai
)

在下面的例子中,整数键有7和12,但最大键为13,所以如果省略键,键将被赋予14。

$var[13] = 100;
$var['Subject'] = 72;
$var[5] = 100;
$var[] = 'Shanghai';

实际通过print_r函数输出时,变成如下。

Array
(
    [13] => 100
    [Subject] => 72
    [7] => 100
    [14] => Shanghai
)

字符串键的存在对自动分配的键没有影响。

另外,即使是整数,如果只有负整数键,自动分配的键也会是0。

$var[-3] = 75;
$var[-12] = 45;
$var[] = 28;
$var[] = 83;

实际通过print_r函数输出时,变成如下。

Array
(
    [-3] => 75
    [-12] => 45
    [0] => 28
    [1] => 83
)

用于将连续的数字键分配给整数键。

示例代码

让我们用一个简单的程序来试试吧。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>

<p>PHP TEST</p>

<pre>
<?php
for ($i = 10; $i < 14; $i++){
  $var[] = $i * 100 ;
}
print_r($var);
?>
</pre>

</body>
</html>

如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。

8-5 数组的初始化(array)

使用数组除了一个一个添加元素的方法外,还有一种方法是一次性指定并初始化要添加到数组的元素。使用 array 来初始化一个数组。

array array ([ mixed $... ] )

返回使用给定键和值初始化的数组。数组像函数一样使用,但它不是真正的函数,它是一种 PHP 语言结构。

使用它的一种方法是通过执行不带任何参数的数组来使用空数组。

$var = array();

如果您创建一个包含以下元素的数组:要通过指定元素创建数组,请按如下方式指定参数。

$var = array('Key1' => 値1, 'Key2' => 値2, ...);

为每个元素指定一个键和值对,描述方法以“key => value”的格式描述。添加多个元素时,用逗号(,)分隔。例如:

$var = array('Beijing' => '北京', 
             'Shanghai' => '上海', 
             'Qingdao' => '青岛');

*为清楚起见,每个元素都用换行符进行描述。上面相当于写:

$var['Beijing'] = '北京';
$var['Shanghai'] = '上海';
$var['Qingdao'] = '青岛;

此外,如果您不需要指定键并希望自动分配它,请仅将值描述为数组参数,如下所示。

$var = array(値1, 値2, ...);

指定键的元素和省略键的元素可以混合并在参数中指定。例如:

$var = array(10 => '北京', '上海', '青岛');

分配什么样的按键请参考 “按键自动分配”。

通过使用数组,可以简洁地描述数组中存储的元素的初始化。

示例代码

让我们用一个简单的程序来试试吧。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>

<p>PHP TEST</p>

<pre>
<?php
$var = array('Yuhua' => 82,
             'Lidong' => 76,
             'Jiangming' => 64);

$var['Wangqi'] = 91;
print_r($var);
?>
</pre>

</body>
</html>

如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。

8-6 多次元数组

任何值都可以存储在元素值中。因此,除了数字、字符串等之外,还可以存储其他数组。例如,请参见以下示例。

$shenhui = array('河北省', '湖南省', '广东省', '山东省');
$city = array('北京', '青岛');

$difang = array($shenhui, $city);

在上面,分别创建数组“shenhui”和数组“city”后,创建数组“difang”,其元素以这两个数组为值。包含其他数组作为元素的数组称为二维数组。作为元素值存储的数组元素还可以存储其他数组,因此可以创建任意维数的数组。

我这次用的是数组,但是我这样写也是一样的。

$shenhui = array('河北省', '湖南省', '广东省', '山东省');
$city = array('北京', '青岛');

$pc[0] = $shenhui;
$pc[1] = $city;

现在尝试获取值。如果通过指定key获取元素,则获取元素包含的数组。要指定数组中包含为值的更多元素,请编写:

$变量1 = $数组变量[Key];
$变量2 = $变量1[array key stored as value];

首先,将数组中作为值存储的数组存储在变量中。然后,为获得的数组指定键并提取值。这种描述方法并没有错,但通常是这样写在一起的。

$変数 = $数组变量[Key][array key stored as value];
$shenhui = array('河北省', '湖南省', '广东省', '山东省');
$city = array('北京', '青岛');

$difang = array($shenhui, $city);

print $difang[0][1];    // 湖南省 と出力
print $difang[1][0];    // 北京 と出力
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>

<p>PHP TEST</p>

<pre>
<?php
$shenhui = array('河北省', '湖南省', '广东省', '山东省');
$city = array('北京', '青岛');
$difang = array($shenhui, $city);

print_r($difang);

print '$difang[0][1] = '.$difang[0][1].'<br />';
print '$difang[1][0] = '.$difang[1][0];
?>
</pre>

</body>
</html>

如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。

标签:PHP

文章导航

❮ Previous Post: 第七章反复处理
Next Post: 第九章函数的讲解 ❯

关联内容

PHP
第一章PHP 安装和初始配置
PHP
第二章PHP程序基础
PHP
第四章数字和算术运算
PHP
第三章文字列的基础
PHP
第五章变量的讲解
PHP
第六章条件分支

实用软件教程

  • Powerpoint
  • Excel
  • PowerAutomateDesk
  • Wordpress
  • Powerapps

编程语言入门

  • JavaScript
  • HTML
  • PHP
  • Python
  • Bootstrap

Copy right by flashyonder.com