【发布时间】:2016-04-23 06:36:06
【问题描述】:
尝试使用相同的数字键合并两个数组时遇到一些困难。我试过array_merge() 和array_merge_recursive(),但似乎所做的只是附加第二个数组。
第一个数组的形式如下:
Array
(
[384] => Array
(
[name] => SomeMovieName1
[age] => 12.2 hrs
[IMDBLink] =>
[IMDBRating] =>
[coverArt] =>
)
[452] => Array
(
[name] => SomeMovieName2
[age] => 13.1 hrs
[IMDBLink] =>
[IMDBRating] =>
[coverArt] =>
)
[945] => Array
(
[name] => SomeMovieName3
[age] => 13.6 hrs
[IMDBLink] =>
[IMDBRating] =>
[coverArt] =>
)
)
这是我想与第一个合并/合并的第二个数组:
Array
(
[384] => Array
(
[IMDBRating] => 7.2
[IMDBLink] => http://www.imdb.com/LinkToMovie1
[coverArt] => http://www.SomeLinkToCoverArt.com/1
)
[452] => Array
(
[IMDBRating] => 8.2
[IMDBLink] => http://www.imdb.com/LinkToMovie2
[coverArt] => http://www.SomeLinkToCoverArt.com/2
)
[945] => Array
(
[IMDBRating] => 6.2
[IMDBLink] => http://www.imdb.com/LinkToMovie3
[coverArt] => http://www.SomeLinkToCoverArt.com/3
)
)
合并后,我希望结果是:
Array
(
[0] => Array
(
[name] => SomeMovieName1
[age] => 12.2 hrs
[IMDBRating] => 7.2
[IMDBLink] => http://www.imdb.com/LinkToMovie1
[coverArt] => http://www.SomeLinkToCoverArt.com/1
)
[1] => Array
(
[name] => SomeMovieName2
[age] => 13.1 hrs
[IMDBRating] => 8.2
[IMDBLink] => http://www.imdb.com/LinkToMovie2
[coverArt] => http://www.SomeLinkToCoverArt.com/2
)
[2] => Array
(
[name] => SomeMovieName3
[age] => 13.6 hrs
[IMDBRating] => 6.2
[IMDBLink] => http://www.imdb.com/LinkToMovie3
[coverArt] => http://www.SomeLinkToCoverArt.com/3
)
)
不确定是否是因为内部数组导致无法直接与array_merge() 或array_merge_recursive() 一起使用的问题。任何帮助将不胜感激,
谢谢。
【问题讨论】:
-
为什么合并后的数组的$key值从
[384][452][945]变为[0][1][2]? -
我正在使用一个 ID 字段,我分配给两个数组中的每个键,这样当我稍后将它们组合起来时,我可以使用这些键来知道哪个 IMDB/etc 元素与以后的组合。我确信我可以用不同的方式来做,但这是我想到的第一个尝试的想法。