本节我们将学习PHP中的数组。数组是PHP中最重要的数据结构之一,它允许我们以灵活的方式存储和操作多个值。PHP中的数组功能更加强大,它既可以作为索引数组使用,也可以作为关联数组(类似字典)使用。

在PHP中,创建数组的语法格式如下:

<?php 
/*创建一个空数组*/
$arr = array();
// 或者使用短数组语法(PHP 5.4+)
$arr = [];
?>

数组就像一个个紧邻的方格一样,索引数组可以通过下标访问元素,关联数组可以通过键名来访问元素。值得注意的是,关联数组不允许存在重复键,出现重复键名会进行值的覆盖。

PHP数组

对于Dotcpp编程的题目,每道题目都有多个测试用例,这些测试用例可以用数组来存储。下面我们创建一个题目测试用例数组:

<?php 
// 创建题目测试用例数组
$cases = [
    "输入样例1",
    "输入样例2", 
];
?>

那如何访问数组元素呢?

要知道,数组元素通过索引(基于0-based)来访问。一般来说我们有两种情况来访问数组的元素:

如果此时我们想知道第一个测试用例:

<?php 
/*方法1 - 方括号表示法*/
echo $cases[0];  // 输出:"输入样例1"
/*方法2 - 先获取索引再访问*/
$index = 1;
echo $cases[$index];  // 输出:"输入样例2"
?>

关联数组:PHP还支持关联数组,类似于其他语言中的字典或映射:

<?php 
// 创建题目信息的关联数组
$arr = [
    "Dotcpp编程" => "dotcpp.com",
    "C语言教程" => "https://www.dotcpp.com/course/c/",
     "数据结构教程" => "https://www.dotcpp.com/course/ds/",
    "Java教程" =>"https://www.dotcpp.com/course/java/"
];
// 访问关联数组元素
echo $arr["Dotcpp编程"];  // 输出:"dotcpp.com"
?>

数组的常用方法:

众所周知,Dotcpp有很多编程题目,每道题目都需要管理多个测试用例,如果每个用例都单独处理太浪费时间了,此时我们可以使用数组的各种方法来高效操作数据。

<?php
/*定义完整的初始测试用例数组*/
$cases = ["输入样例1", "输入样例2"];

// 尾增
$cases[] = "输入样例3";  

// 或者使用array_push
array_push($cases, "输入样例4");

// 头增
array_unshift($cases, "输入样例0");

// 删除最后一个
$lastCase = array_pop($cases);

// 删除第一个
$firstCase = array_shift($cases);

// 获取数组长度
$count = count($cases);

// 数组合并
$moreCases = ["输入样例5", "输入样例6"];
$allCases = array_merge($cases, $moreCases);
?>

那么如何遍历数组呢?

对于索引数组来说,我们可以通过下标和foreach进行遍历:

<?php 
/* 使用for循环遍历索引数组 */
$cases = ["输入样例1", "输入样例2","输入样例3"];//准备初始测试用例数组
/* 遍历下标访问 */
for($i = 0; $i < count($cases); $i++) {
    echo $cases[$i] . "<br>";//<br>用于换行
}
/* 使用foreach遍历索引数组(推荐) */
foreach ($cases as $case) {
    echo $case . "<br>";//<br>用于换行
}
?>

访问test.php:

索引数组遍历

对于关联数组来说,我们可以通过foreach来遍历:

<?php 
/* 关联数组的遍历 */
$arr = [
    "PHP教程" => "https://www.dotcpp.com/course/php/",
    "C语言教程" => "https://www.dotcpp.com/course/c/",
    "数据结构教程" => "https://www.dotcpp.com/course/ds/",
    "Java教程" => "https://www.dotcpp.com/course/java/"
];//准备一个关联数组
foreach ($arr as $course => $url) {
    echo "课程: " . $course . " - 网址: " . $url . "<br>";}
?>

访问test.php:

关联数组遍历

总结:PHP数组是处理数据集合的强大工具,它兼具了其他语言中数组和字典的功能。通过数组字面量、array()函数或各种数组方法,我们可以高效地存储和操作数据。PHP数组支持索引访问和关联访问,提供了丰富的遍历和变换操作方法!

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)