php中的二维数组怎么用
时间 : 2023-02-24 18:04:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

PHP是一种流行的用于开发动态网页的主流脚本语言,在它里面有一种叫做“二维数组”的数据结构,也称为多重数组。顾名思义,它是一个包含一组数组的数组,每个数组有自己的索引,每个索引可以调用或更改它的值。这种数据结构的表现形式有点像一个简单的表格,其中每行代表一个数组,每列则对应一个索引。在实际应用中,二维数组可以用来储存数据库记录、Web表单输入等,也可以使用它来表示关联数组,而无需分别定义每一个数组元素。

要用到二维数组,首先需要定义这个数组,包括它容纳的每个数组及其元素。在PHP里,可以使用“array()”方法来创建一个新的数组,然后初始化它们的值:

$data= array(

array(2, 3, 4),

array(7, 8, 9),

array(10, 11, 12)

);

上面的代码定义了一个三行三列的二维数组。二维数组的元素可以通过两个索引来取值或赋值,这两个索引可以被称为“行号”和“列号”,如下:

echo "The value of [1][2] is: ".$data[1][2];

上面代码使用了二维数组的索引(1,2)来读取数组中的某一个值,返回结果为:9。通过这样的方式,我们就可以容易读取或设置数组元素的值了。

此外,PHP还提供了多种遍历方法,用于遍历二维数组。例如,要罗列出上面定义的数组中的每一个

PHP中的二维数组是一种多维数组,它由多个索引数组组成,每个索引数组中的每一项都是另一个数组。PHP中的二维数组可以用来存储多维的数据,比如存储学生的成绩信息,可以一次性存储多种考试成绩,把各科的考试成绩存在一个二维数组中。

二维数组可以用很多的方式获取,比如foreach循环,例如:

```php

$scoretable = array(

array(

'hong'=>array('math'=>90,'english'=>95,'physics'=>100),

'ling'=>array('math'=>80,'english'=>90,'physics'=>85),

'wang'=>array('math'=>70,'english'=>75,'physics'=>65)

)

);

foreach($scoretable as $key=>$value){

foreach($value as $name=>$scorearr){

//$name为学生姓名,$scorearr为考试分数

echo 'name:'.$name.'<br>';

echo 'math:'.$scorearr['math'].'<br>';

echo 'english:'.$scorearr['english'].'<br>';

echo 'physics:'.$scorearr['physics'].'<br>';

}

}

如果只需要得到某个学生的某一科的成绩,可以使用```list()```函数:

```php

$scoretable = array(

array(

'hong'=>array('math'=>90,'english'=>95,'physics'=>100),

'ling'=>array('math'=>80,'english'=>90,'physics'=>85),

'wang'=>array('math'=>70,'english'=>75,'physics'=>65)

)

);

list($hongscore) =$scoretable[0]; //$hongscore为学生hong的所有信息

echo 'hong math score:'.$hongscore['math'];

还可以使用函数```array_map()``` 对二维数组中的每一个数组进行处理,比如把所有学生的成绩取出来:

```php

$scoretable = array(

array(

'hong'=>array('math'=>90,'english'=>95,'physics'=>100),

'ling'=>array('math'=>80,'english'=>90,'physics'=>85),

'wang'=>array('math'=>70,'english'=>75,'physics'=>65)

)

);

$result = array_map(function($v){

return array_reduce($v, function($carry, $v){

return array_merge($carry, array_values($v));

}, array());

}, $scoretable);

print_r($result);

以上是关于PHP中二维数组