【问题标题】:Synchronize and sort two arrays [closed]同步和排序两个数组[关闭]
【发布时间】:2011-05-29 18:59:46
【问题描述】:

我想同步两个数组。

第一个数组:

'hi' => "Hello",
'bye'=> "Bye bye",
'w'=>"what", 

第二个数组:

'hi' => "Hello",
'bye'=> "Bye bye",
'we'=>"where",
'w'=>"what",
  1. 我想按键排序
  2. 从第二个数组中添加不在第一个数组中的键
  3. 显示数组

像这里一样,它们是按键排序的(abc..):

'bye'=> "Bye bye",
'hi' => "Hello",
'w'=>"what", 
'we'=>"where",

我该怎么做?

【问题讨论】:

  • 您的问题是什么?你试过什么,你卡在哪里了?
  • 对我来说似乎是一个合理的问题,或者至少我理解它。
  • 永远不用担心你的英文,只要清楚你想要什么,我们随时可以编辑你的英文,我们无法编辑的是你的问题中缺少信息。这就是你的问题被关闭的原因。这几乎是一个问题,但我们不知道如何回答。通常最好包含您拥有的源代码,并告诉我们您希望它做什么以及什么不起作用。

标签: php arrays sorting


【解决方案1】:

我相信您正在寻找array_merge()ksort()

例子:

$array1 = array(
    'hi' => "Hello",
    'bye'=> "Bye bye",
    'w'=>"what",
);

$array2 = array(
    'hi' => "Hello",
    'bye'=> "Bye bye",
    'we'=>"where",
    'w'=>"what",
);

$array3 = array_merge($array1, $array2);
ksort($array3);

在此处查看实际操作:http://codepad.org/D2piffFE

就您的 #3 而言,“显示数组”完全取决于您。使用foreach 循环或implode()

【讨论】:

  • 这显示一次来自两个数组的双键和来自两个数组的单键。我想像上面的例子一样显示一次双键,但只显示来自 array1 的单键,所以我想忽略来自 array2 的单键。这可能吗?
  • @goni:我不知道你现在在问什么。这提供了您要求的输出。数组中不能有重复的键。
  • 我给你一个例子,有 3 个或 4 个 key=>value,但在我的例子中还有更多不同的 key=>value。无论如何,谢谢!
  • @goni:你有没有试过这个来确认它不是你想要的?
猜你喜欢
  • 2020-09-23
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 2019-01-30
  • 2012-06-25
  • 1970-01-01
相关资源
最近更新 更多