当前位置: 首页 > 面试题库 >

PHP:在保留键而不是重新索引的同时合并两个数组?

慕俊语
2023-03-14
问题内容

如何合并两个数组(一个带有字符串=>值对,另一个带有int =>值对),同时保留字符串/
int键?它们中的任何一个都不会重叠(因为一个只有字符串,而另一个只有整数)。

这是我当前的代码(这不起作用,因为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,
)


 类似资料:
  • 我想将两个哈希数组合并到一个新数组中: 现在这就是我正在寻找的结果: 我在Ruby文档中唯一能找到的合并选项是用另一个散列覆盖重复项。那么如何才能达到我需要的版本呢?

  • 问题内容: 我正在尝试将以下两个数组合并为一个共享相同密钥的数组: 第一个数组: 第二个数组: 如您所见,它们共享相同的密钥(Camera1,Camera2,Camera3等。) 这是我尝试过的: 问题答案: 理想情况下,我希望以一种方式格式化两个数组,从而简单地合并两个数组而不必大惊小怪。 但是我确实提出了一个使用过的解决方案。 输出为:

  • 我有两个熊猫数据帧共享一个共同的列名。我想合并公共列名,但保留与第二个dataFrame中的所有不同列,其中公共列名称匹配。下面是两个数据帧的示例: 我希望预期的结果是: 也就是说,当列“A”匹配时,我希望保留I,J,K,L的行,并且不等于“NaN ”,对于DF1中的列也是如此。 我已经尝试了所有的pd.merge选项,但是它们似乎没有做我上面要求的事情。例如, 在“A”上匹配并将所有键保留在左侧

  • 在索引上合并是不好的做法吗?不可能吗?如果是,如何将索引转换为名为“index”的新列?

  • 问题内容: 我有以下数据框: 如何合并索引以获取: 我问,因为据我了解,即使用列进行匹配。实际上,这样做我得到: 在索引上合并是不好的做法吗?不可能吗 如果是这样,如何将索引移到称为“索引”的新列中? 问题答案: 使用,默认情况下是内部联接: 或,默认情况下为左连接: 或,默认情况下为外部联接: 样品 :

  • 问题内容: 我有我必须取消一些索引的数组,所以现在看起来像 如您所见,[2]丢失了,我需要做的就是重置索引,因此它们显示为[0]-[3]。 问题答案: 使用。