更改数组的顺序以匹配主数组

时间:2014-09-05 05:43:36

标签: php arrays

我有一个从$ _POST形式收集的三个数组,包括SKU,插头和电压

SKU在开头有一个型号,在末尾有一个颜色标识符 - 这些必须按字母顺序排列。

为了补偿无序输入的信息,我执行以下操作:

[modelsku] => Array([0] => RCS22334WW [1] => RCS22334SS  )

foreach($_POST["modelsku"] as $modelsku){
    $newSKUarray[] = strrev($modelsku);
}
sort($newModelSKUarray)

所以现在模型是有序的 - 我只是strrev($ modelsku)在以后回复它们。

我的问题是附带的数组的顺序不一样 - 有没有办法让其他数组的排序方式与sky数组相同。

1 个答案:

答案 0 :(得分:1)

如何使用array_multisort()?您也可以使用array_map()代替foreach循环。

<?
$skus = array('RCS22334WW', 'RCS22334SS');
$plugs = array('bigPlug', 'smallPlug');
$voltages = array('10', '20');

$skus_backwards = array_map('strrev', $skus);
array_multisort($skus_backwards, $skus, $plugs, $voltages);

var_dump($skus);
var_dump($plugs);
var_dump($voltages);
?>

结果:

array(2) { [0]=> string(10) "RCS22334SS" [1]=> string(10) "RCS22334WW" } array(2) { [0]=> string(9) "smallPlug" [1]=> string(7) "bigPlug" } array(2) { [0]=> string(2) "20" [1]=> string(2) "10" }