Php 根据第二个数组设置数组的顺序

Php 根据第二个数组设置数组的顺序,php,arrays,Php,Arrays,我有一个数组,如下所示: array(1) { [0]=> string(1) "2" [1]=> string(1) "1" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" [5]=> string(1) "6" [6]=> string(1) "7" } } 我想做的是根据上述内容订购第二个阵列(随

我有一个数组,如下所示:

array(1) { 
    [0]=> string(1) "2" 
    [1]=> string(1) "1" 
    [2]=> string(1) "3"  
    [3]=> string(1) "4" 
    [4]=> string(1) "5" 
    [5]=> string(1) "6" 
    [6]=> string(1) "7" 
  } 
}
我想做的是根据上述内容订购第二个阵列(随用户选择而变化):

编辑:用户访问有jQuery可排序列表的页面-他们可以随心所欲地排序,并将其保存到数据库中,我现在要做的是,当用户返回页面时,确保列表符合他们设定的顺序。这就是他们设定的顺序

第二个数组是填充.PHP页面上列表的数组,这就是为什么我需要它来匹配第一个数组

我已经看过了
数组\u multisort
但没有乐趣


我假设在使用第二个数组之前,我会在PHP中执行一些循环来填充它,但我正在努力-有什么建议吗?

我不完全理解您的目标,但我认为下面的代码将产生您想要的结果

这将输出

Array
(
  [two] => two
  [one] => one
  [three] => three
  [seven] => seven
)
我猜这就是你要寻找的:

$indexes = array('2','1');
$indexes = array_merge($indexes, range(3,7)); // used range to fill missing indexes
$values = array('two', 'one', 'three', 'four', 'five', 'six', 'seven');
$result=array_combine($indexes, $values);

ksort($result); // sort by keys

print_r($result);
// Array
// (
//   [1] => one
//   [2] => two
//   [3] => three
//   [4] => four
//   [5] => five
//   [6] => six
//   [7] => seven
// )

数字的范围是多少?从0到..?计数($firstArray)!=计数($secondArray)。我可以用这个吗?范围是1-7-所以在第一个数组中,你可以看到它当前的范围是2,1,3,4,5,6,7(这可以根据用户的输入而改变)。我想让第二个数组反映第一个数组。解释一下你想对结果数组做什么可能会有帮助。我认为你的目标可以用另一种方式更有效地实现。例如,为什么希望键与结果数组中的值相等?
Array
(
  [two] => two
  [one] => one
  [three] => three
  [seven] => seven
)
$indexes = array('2','1');
$indexes = array_merge($indexes, range(3,7)); // used range to fill missing indexes
$values = array('two', 'one', 'three', 'four', 'five', 'six', 'seven');
$result=array_combine($indexes, $values);

ksort($result); // sort by keys

print_r($result);
// Array
// (
//   [1] => one
//   [2] => two
//   [3] => three
//   [4] => four
//   [5] => five
//   [6] => six
//   [7] => seven
// )