首页 >后端开发 >php教程 >如何在 PHP 中不循环地从多维数组中检索键?

如何在 PHP 中不循环地从多维数组中检索键?

DDD
DDD原创
2024-12-06 14:26:12364浏览

How Can I Retrieve Keys from Multidimensional Arrays in PHP Without Loops?

在不循环的情况下从多维数组中检索键

使用多维数组时,使用传统的循环方法检索特定键值可能很麻烦。 PHP 提供了几个内置函数来有效地促进此过程。

使用 array_column()(PHP 5.5 及更高版本)

如果您的 PHP 版本为 5.5 或更高版本,您可以利用 array_column() 函数从多维数组中提取特定键的数组。这是现代项目的首选解决方案。

$users = array(
    array(
        'id' => 'xxx',
        'name' => 'blah',
    ),
    array(
        'id' => 'yyy',
        'name' => 'blahblah',
    ),
    array(
        'id' => 'zzz',
        'name' => 'blahblahblah',
    ),
);

$ids = array_column($users, 'id');
print_r($ids); // Output: [xxx, yyy, zzz]

使用 array_map() 和匿名函数(PHP 5.3 及更高版本)

适用于 5.3 和 5.5 之间的 PHP 版本, array_map() 可以与匿名函数结合使用来实现类似的功能

$ids = array_map(function ($ar) {
    return $ar['id'];
}, $users);
print_r($ids); // Output: [xxx, yyy, zzz]

使用 create_function()(PHP 4.0.6 及更高版本)

在 PHP 5.3 之前,使用 create_function() 创建匿名函数是必要的。

$ids = array_map(create_function('$ar', 'return $ar["id"];'), $users);
print_r($ids); // Output: [xxx, yyy, zzz]

通过利用这些内置函数,您可以高效地提取特定密钥来自多维数组的值,无需借助显式循环结构,从而产生简洁且优化的代码。

以上是如何在 PHP 中不循环地从多维数组中检索键?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn