在 PHP 中合并数组时如何保留键类型?

Mary-Kate Olsen
发布: 2024-11-12 14:51:01
原创
491 人浏览过

How Can I Preserve Key Types When Merging Arrays in PHP?

在 PHP 中数组合并期间保留键类型

在 PHP 中,您可能会遇到需要组合两个数组,同时保留原始字符串和整数索引的情况。但是,默认的 array_merge() 函数会使用连续整数重新索引结果数组。

有问题的原始代码

// Array with string-indexed pairs
$staticIdentifications = [
    'userID'   => 'USERID',
    'username' => 'USERNAME'
];

// Array with integer-indexed pairs
$companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']);

// Unsuccessful Attempt to Merge with Preserved Key Types
$idVars = array_merge($staticIdentifications, $companyVarIdentifications);
登录后复制

解决方案:数组加法

保留键类型在合并过程中,使用运算符而不是 array_merge():

$idVars = $staticIdentifications + $companyVarIdentifications;
登录后复制

此操作连接两个数组,同时保留它们各自的键类型。生成的 $idVars 数组将包含字符串和整数键,反映输入数组的原始结构。

数组加法的好处

与 array_merge() 不同,数组加法:

  • 保留原始键类型,这对于维护键和值之间的关联至关重要。
  • 避免意外的重新索引,这可能会破坏基于索引的数组元素的引用。
  • 提供一种更简单、更直接的数组连接方法。

在这种特定情况下,$idVars 数组将同时具有字符串键(例如,“userID”)和整数键(例如,123),从而能够基于两种类型的键访问值。

以上是在 PHP 中合并数组时如何保留键类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板