php 二位数组的函数

二维数组在 PHP 中是一种常见的数据结构,可以定义一个数组变量,其中每个元素又是一个数组。这种数组的好处是可以用来表示多个有序数据,或者多行多列的表格数据。在实际应用中常见的二维数组包括学生成绩表、商品报价表、员工工资表等等。PHP 提供了一系列的函数来对二维数组进行操作,下面我们就来详细介绍一下这些函数及其用法。

1.创建二维数组

创建二维数组最简单的方法就是使用 array 函数,像这样:

```

$grades = array(

array('小明', 98, 99),

array('小红', 97, 95),

array('小刚', 92, 96),

);

```

上面的代码定义了一个二维数组,其中每个元素都是一个包含三个元素的一维数组,分别表示学生姓名、语文成绩和数学成绩。可以通过下标来访问二维数组中的元素,例如:

```

echo $grades[0][0]; // 输出 "小明"

echo $grades[1][2]; // 输出 95

```

2.获取二维数组元素个数

要获取二维数组中包含多少个元素,可以使用 count 函数,这个函数的参数可以是一个数组或者一个对象,返回值是该数组或对象中元素的个数。例如:

```

$count = count($grades); // 该二维数组包含 $count 个元素

```

如果想要获取二维数组中所有元素的个数,可以使用双重循环遍历每个一维数组并计数:

```

$count = 0;

foreach ($grades as $row) {

foreach ($row as $col) {

$count++;

}

}

```

3.遍历二维数组

要遍历二维数组,可以使用双重循环,例如:

```

foreach ($grades as $row) {

foreach ($row as $col) {

echo $col . ' ';

}

echo "\n";

}

```

上面的代码会将二维数组中的每个元素都输出到屏幕上。

4.排序二维数组

要对二维数组进行排序,可以使用 PHP 中的 sort,asort,ksort 等函数,这些函数可以按照数组中元素的值或者键进行排序。例如:

```

// 按照语文成绩对学生成绩表进行降序排序

usort($grades, function($a, $b) {

return $a[1] < $b[1] ? 1 : -1;

});

```

上面的代码使用 usort 函数对学生成绩表进行排序,排序规则是按照语文成绩降序排列。在使用 usort 函数时,可以通过定义一个比较函数来自定义排序规则。

5.过滤二维数组

要过滤二维数组中的元素,可以使用 PHP 中的 array_filter 函数,该函数可以根据指定的条件过滤数组中的元素。例如:

```

// 过滤掉语文成绩低于90分的学生

$filtered = array_filter($grades, function($row) {

return $row[1] >= 90;

});

```

上面的代码使用 array_filter 函数过滤掉了语文成绩低于90分的学生,返回值是一个新的二维数组。

6.重组二维数组

要对二维数组进行重组,可以使用 PHP 中的 array_map 函数,该函数可以对数组中的每个元素应用指定的函数,并返回一个新的数组。例如:

```

// 将学生列表转换成姓名-语文成绩的关联数组

$namescores = array_map(function($row) {

return array($row[0] => $row[1]);

}, $grades);

```

上面的代码使用 array_map 函数将学生列表转换成了一个姓名-语文成绩的关联数组。

7.合并二维数组

要将两个二维数组合并成一个,可以使用 PHP 中的 array_merge_recursive 函数,该函数可以递归地合并两个数组中的元素,并返回一个新的数组。例如:

```

// 将两个学生成绩表合并成一个

$merged = array_merge_recursive($grades1, $grades2);

```

上面的代码使用 array_merge_recursive 函数将两个学生成绩表合并成了一个新的二维数组。

总结

二维数组是 PHP 中非常常见的数据结构之一,它可以用于表示多行多列的数据表格,或者多个有序数据。PHP 中提供了一系列的函数,用于对二维数组进行操作,包括创建、遍历、排序、过滤、重组和合并等等。在实际应用中,了解这些函数的使用方法可以帮助开发者更加方便地处理二维数组,提高代码的效率和可读性。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(107) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部