php数组的定义、php数组的类型

1、什么是PHP数组?PHP数组有哪几类

数组就是一组数据的集合,把一系列的数据组织起来,形成一个可以操作的整体。

数组中的每个元素都包含两项:键和值。可以通过键值来获取相对应的数组元素,这些键值可以是数值键或者关联键。

PHP数组分为三类

数字索引数组:

索引数组存储一系列经过组织的单个或多个值,其中的每个值都可以通过使用一个无符号整数值进行访问。

关联数组:

“关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。

多维数组:

数据结构中的概念, 二维数组以上的数组,既非线性也非平面的数组成为多维数组。

2、php怎么声明数组:声明数组的两种方式

在 PHP 中声明数组的方式主要有两种:一种是应用 array() 函数声明数组,另一种是直接通过为数组元素赋值的方式来声明数组。

应用 array()函数定义数组是比较灵活的,可以在函数体中只给出数组元素值,而不是给出键值。例如:

$arr = array("php","thinkphp");
print_r($arr);

输出的结果为:

注意:可以通过给变量赋予一个没有参数的 array()函数来创建空数组,然后使用方括号[]语法来添加数组元素值!

PHP提供创建数组的 array()函数。在使用其中某个元素的数据时,可以直接利用他们在数注重的排列顺序取值,这个顺序称之为数组的下标。例如:

$arr = array("php","thinkphp");
echo $arr[1];

注意:使用 array()函数定义数组是,下标默认是从 0 开始的,而不是 1 ,然后依次增加 1。所以下标为 2 的元素是指数组的第 3 个元素。以此类推!

下面通过 array()函数声明数组,示例代码:

$arr = array("1"=>"php","2"=>"thinkphp");
print_r($arr);
echo $arr[0];
echo $arr[1];

输出的结果为:

PHP 中另一个比较灵活的数组声明方式是直接为数组元素赋值。如果在创建数组时不知道所创建数组的大小,或者在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法比较好。

为了加深对这种数组声明方式的理解,下面通过具体的实例对该中数组声明方式进行讲解,示例代码如下:

header("Content-Type:text/html; charset=utf-8");
$arr[1] = "html";
$arr[2] = 'css';
print_r($arr);

输出的结果为:

 注意:通过直接为数组元素赋值方式声明数组时,要求同一数组元素中的数组名相同。

3、什么是php二维数组?php二维数组实例详解

PHP二维数组代码实例:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = array(
    "php"=>array("php","thinkphp"),
    "js"=>array("M"=>"js","N"=>"jQuery","vue","react"),
    "html"=>array(10=>"html","html5")
);
print_r($arr);

输出结果为:

这里说明下:

很多人看到上面为什么"html5"的下标是“11”呢?

这个问题我们之前的文章都有说过,数组下标默认是从 0 开始的,然后依次增加 1 ,当然也可以指定从某个数字开始,因为我们前面定义了“html”是 10 ,所以后面的“html5”的下标自然就是 11 了。小伙伴们现在明白了嘛?

上面的实例实现了一个二维数组的声明,按照这样的思路,可以声明更高维数的数组

4、PHP数组的类型-数字索引数组

PHP 数字索引数组一般表示数组元素在数组中的位置,它由数字组成,下标从 0 开始,数字索引数组默认索引值就是从数字 0 开始的,不需要特别指定,PHP 会自动为索引数组的键名赋一个整数值,然后从这个值开始自动增量,当然,也可以指定从某个位置开始保存数据。

数字索引数组的案例:

$arr = array("1"=>"html","2"=>"css");
print_r($arr);

输出结果为:

 索引数组使用无符号 32 位整数作为索引号。索引数组的最大大小为 2-1,即 4,294,967,295。如果要创建的数组大小超过最大值,则会出现运行时错误。

5、PHP数组的类型-关联数组

除了数组索引数组,PHP还有一种关联数组,在其它计算机语言中,一般叫做hash或者map

使用关联数组,我们可以为每个数组元素指定一个关键词,我们称之为键(key)

关联数组的键名可以是数字和字符串混合的形式,而不像数字索引数组的键名只能为数字。在一个数组中,只要键名中有一个不是数字,那么这个数组就称之为关联数组。

关联数组的元素没有特定的顺序,你可以把它们想象为一组卡片。每张卡片上半部分是索引而下半部分是数值。

JavaScript的对象本质就是一个关联数组。

关联数组案例如下:

$arr = array("first"=>"html","second"=>"css");
echo($arr['first']);

输出结果为:

 技巧:关联数组的键名可以使任何一个整数或者字符串。如果键名是一个字符串,不要忘了给这个键名或者索引加上定界符—单引号(‘)或者双引号(“)。对于数字索引数组,为了避免不必要的麻烦,我们也最好加上定界符!

6、PHP数组的类型-多维数组

定义二维数组:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = [[1,2,3],[4,5,6],[7,8]];
echo count($arr);
echo "<br>";
echo count($arr,true);//递归

获取上面二维数组“4”这个元素的方式如下:

$arr = [[1,2,3],[4,5,6],[7,8]];
echo $arr[1][0];
原文地址:https://www.cnblogs.com/chenyingying0/p/12886491.html