首页 >后端开发 >php教程 >在 PHP 中合并数组时如何保留键类型?

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-12 14:51:01565浏览

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中文网其他相关文章!

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