上一节我们学习了PHP索引数组的使用技巧,本节我们将详细讲解PHP关联数组的使用技巧。

PHP关联数组使用技巧详解:
1. 关联数组创建和初始化
<?php /* 1. 创建关联数组 */ $courses = [ "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/" ];
2. 关联数组添加和修改元素
<?php $courses = [ "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/" ]; /*添加元素*/ $courses['Python教程'] = 'https://www.dotcpp.com/course/python/';// 添加新元素 $courses['Linux命令'] = 'https://www.dotcpp.com/course/linuxcmd/';// 添加新元素 /*修改元素*/ $courses['Java教程'] = 'https://www.dotcpp.com'; ?>
3. 关联数组遍历
<?php
$courses = [
"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 遍历键值对
foreach ($courses as $title => $url) {
echo "<a href='$url'>$title</a><br>";
}
// 只遍历键(课程标题)
foreach (array_keys($courses) as $title) {
echo "课程: $title\n";
}
// 只遍历值(课程链接)
foreach (array_values($courses) as $url) {
echo "链接: $url\n";
}
// 使用 array_walk
array_walk($courses, function($url, $title) {
echo "【{$title}】: {$url}\n";
});
?>访问test.php:

4. 关联数组排序(按字典序进行排序)
<?php $courses = [ "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/" ]; // 按键升序排序(按课程标题) ksort($courses); // ['C语言教程', 'Java教程', 'PHP教程', '数据结构教程'] // 按键降序排序 krsort($courses); // ['数据结构教程', 'PHP教程', 'Java教程', 'C语言教程'] // 按值升序排序(按URL) asort($courses); // 按URL字母顺序排序 // 按值降序排序 arsort($courses); // 按URL字母逆序排序 // 自然排序 natsort($courses); // 按自然顺序排序URL ?>
5. 关联数组搜索和判断
<?php
$courses = [
"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/"
];
// 检查键是否存在
$has_php = array_key_exists('PHP教程', $courses); // true
$has_python = isset($courses['Python教程']); // false
// 检查值是否存在
$has_c_url = in_array('https://www.dotcpp.com/course/c/', $courses); // true
// 搜索值返回键
$course_title = array_search('https://www.dotcpp.com/course/java/', $courses); // 'Java教程'
// 获取所有键(课程标题)
$titles = array_keys($courses); // ['PHP教程', 'C语言教程', '数据结构教程', 'Java教程']
// 获取所有值(课程链接)
$urls = array_values($courses); // 所有URL数组
?>总结:掌握PHP关联数组的使用技巧,能够更高效地处理键值对数据,特别适合管理课程目录、配置信息等结构化数据,是PHP开发中数据处理的核心技能。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程