php两个数组合并保存键,PHP:合并两个数组,同时保持键而不是reindexing?

这篇博客探讨了在PHP中如何合并两个数组,同时保留它们的原始键,无论是字符串还是整数。作者遇到了一个问题,即`array_merge`函数会重新索引整数键。解决方案是使用加法操作符`+`来合并数组,这将保持原有的键值。示例代码展示了如何合并一个包含字符串键和另一个包含整数键的数组,并且不丢失任何键信息。
摘要由CSDN通过智能技术生成

PHP:合并两个数组,同时保持键而不是reindexing?

我怎样才能合并两个数组(一个string=>值对,另一个与int =>值对),同时保持string/ int键? 他们都不会重叠(因为一个只有string,另一个只有整数)。

这是我目前的代码(这是行不通的,因为array_merge是用整数键重新索引数组)。

// get all id vars by combining the static and dynamic $staticIdentifications = array( Users::userID => "USERID", Users::username => "USERNAME" ); // get the dynamic vars, formatted: varID => varName $companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']); // merge the static and dynamic vars (*** BUT KEEP THE INT INDICES ***) $idVars = array_merge($staticIdentifications, $companyVarIdentifications);

你可以简单地“添加”数组:

>> $a = array(1, 2, 3); array ( 0 => 1, 1 => 2, 2 => 3, ) >> $b = array("a" => 1, "b" => 2, "c" => 3) array ( 'a' => 1, 'b' => 2, 'c' => 3, ) >> $a + $b array ( 0 => 1, 1 => 2, 2 => 3, 'a' => 1, 'b' => 2, 'c' => 3, )

考虑到你有

$replaced = array('1' => 'value1', '4' => 'value4'); $replacement = array('4' => 'value2', '6' => 'value3');

做$merge = $replacement + $replaced; 会输出:

Array('1' => 'value1', '4' => 'value2', '6' => 'value3');

sum中的第一个数组将在最终输出中具有值。

做$merge = $replaced + $replacement; 会输出:

Array('1' => 'value1', '4' => 'value4', '6' => 'value3');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值