如何高效地将二维数组的数值键替换为指定的关联键?

如何高效地将二维数组的数值键替换为指定的关联键?

PHP二维数组键值高效替换

本文介绍一种高效的方法,用于替换PHP二维数组中数值键为指定的关联键。

假设我们有一个二维数组:

$arr = [
    [123, 234, 444],
    [123, 222, 445],
    [121, 222, 111],
];
登录后复制

目标是将其转换为:

$arr = [
    ['id' => 123, 'age' => 234, 'sno' => 444],
    ['id' => 123, 'age' => 222, 'sno' => 445],
    ['id' => 121, 'age' => 222, 'sno' => 111],
];
登录后复制

高效解决方案

避免使用循环和array_combine等函数的低效方法,我们可以利用PHP的列表解包功能:

$list = [];
foreach ($arr as $k => $val) {
    [$id, $age, $sno] = $val;
    $list[$k] = ['id' => $id, 'age' => $age, 'sno' => $sno];
}
$arr = $list; // 将结果赋值回原数组
登录后复制

这段代码直接将原始数组的元素解包到变量$id, $age, $sno中,然后创建包含新键的新数组,最终替换原数组。这种方法简洁高效,避免了不必要的迭代和函数调用,提升了代码性能。

以上就是如何高效地将二维数组的数值键替换为指定的关联键?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1227400.html

发表回复

Your email address will not be published. Required fields are marked *