
在php中,经常会遇到需要从多维数组中提取特定列数据的情况,例如从一个包含多个电影信息的数组中,提取所有电影的id。以下将介绍两种常用的方法来实现这个目标。
方法一:使用循环遍历
这种方法是最基础也最容易理解的。它通过循环遍历多维数组的每一个子数组,然后访问指定键的值,并将其添加到新的数组中。
<?php
$arr1 = [
['id' => 11, 'name' => 'scifi'],
['id' => 12, 'name' => 'documentary'],
['id' => 10, 'name' => 'comedy'],
];
$arr2 = [];
foreach ($arr1 as $internal) {
$arr2[] = $internal['id'];
}
print_r($arr2); // 输出: Array ( [0] => 11 [1] => 12 [2] => 10 )
?>这段代码首先定义了一个多维数组 $arr1。然后,创建一个空数组 $arr2,用于存储提取出的ID值。通过 foreach 循环遍历 $arr1 的每一个子数组,并将子数组中键为 'id' 的值添加到 $arr2 中。最后,使用 print_r() 函数打印 $arr2 的内容,可以看到成功提取出了所有ID值。
注意事项:
立即学习“PHP免费学习笔记(深入)”;
方法二:使用 array_column() 函数
PHP提供了一个内置函数 array_column(),专门用于从多维数组中返回指定列的值。使用 array_column() 可以更加简洁地实现提取指定键的值的功能。
<?php
$arr1 = [
['id' => 11, 'name' => 'scifi'],
['id' => 12, 'name' => 'documentary'],
['id' => 10, 'name' => 'comedy'],
];
$arr2 = array_column($arr1, 'id');
print_r($arr2); // 输出: Array ( [0] => 11 [1] => 12 [2] => 10 )
?>array_column($arr1, 'id') 的作用是从数组 $arr1 中提取键为 'id' 的所有值,并返回一个新的数组 $arr2。
注意事项:
立即学习“PHP免费学习笔记(深入)”;
总结
两种方法都可以实现从多维数组中提取指定键的值并生成新数组的功能。循环遍历的方法更加灵活,适用于各种复杂的数据结构,但可能会影响性能。array_column() 函数更加简洁高效,但对数组结构有一定要求。在实际应用中,可以根据具体情况选择合适的方法。如果需要更高的性能,并且数组结构规整,建议使用 array_column() 函数。如果需要处理更复杂的数据结构,或者需要进行更精细的控制,则可以选择循环遍历的方法。
以上就是生成准确表达文章主题的标题 PHP:从多维数组中提取指定键的值并生成新数组的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号