Php Can';无法获得特定的数组结构

Php Can';无法获得特定的数组结构,php,arrays,rank,Php,Arrays,Rank,我从几个小时以来一直在四处游荡,想得到一个特定的阵列,但我想不出来 我使用foreach循环得到这个起始数组: Array ( [0] => Title 1 [1] => Image 1.jpg [2] => Title 2 [3] => Image 2.png [4] => Text 1 ) 我生成了一个数组来排列第一个数组(当用户拖放第一个数组的元素时) 我需要的是将第二个数组(1,4,0,2,3)的值与第一个数组([0],…)的

我从几个小时以来一直在四处游荡,想得到一个特定的阵列,但我想不出来

我使用foreach循环得到这个起始数组:

Array
(
   [0] => Title 1
   [1] => Image 1.jpg
   [2] => Title 2
   [3] => Image 2.png
   [4] => Text 1
)
我生成了一个数组来排列第一个数组(当用户拖放第一个数组的元素时)

我需要的是将第二个数组(1,4,0,2,3)的值与第一个数组([0],…)的键链接起来,以准确地获取该值:

Array
(
   [1] => Text 1
   [4] => Image 2.png
   [0] => Image 1.jpg
   [2] => Title 1
   [3] => Title 2
)
我已经尝试了array_combine,但它没有给出上面的结果

我已经制定了一个模式来理解这个问题:

以下是一些伪代码(我复制粘贴了,懒得将其更正为有效的PHP,我更正了它):

以下是一些伪代码(我复制粘贴了,懒得将其更正为有效的PHP,我更正了它):


获取第二个数组的每个值,并将其用作第二个数组的键,以获取第一个数组的键,同时使用第二个数组的数组顺序并为输出设置键:

$mapped = array();

foreach($arr2 as $value)
{
    $mapped[$value] = $arr1[$arr2[$value]];
}
输出:

Array
(
    [1] => Text 1
    [4] => Image 2.png
    [0] => Image 1.jpg
    [2] => Title 1
    [3] => Title 2
)

获取第二个数组的每个值,并将其用作第二个数组的键,以获取第一个数组的键,同时使用第二个数组的数组顺序并为输出设置键:

$mapped = array();

foreach($arr2 as $value)
{
    $mapped[$value] = $arr1[$arr2[$value]];
}
输出:

Array
(
    [1] => Text 1
    [4] => Image 2.png
    [0] => Image 1.jpg
    [2] => Title 1
    [3] => Title 2
)

很高兴这有帮助。我认为您原始数据中的键和值的交叉使得这很难理解,我也花了一些时间来了解您是如何组合数据的。是的,我知道,这让我花了更多的时间来理解如何解释我的问题:pGlad这很有帮助。我认为原始数据中的键和值的交叉使得这一点很难理解,我也花了一些时间来了解您是如何组合数据的。是的,我知道,这让我花了更多的时间来理解如何解释我的问题:p