2014-09-05 55 views
0

我有从表单$ _POST包括SKU,插头和电压改变阵列的顺序来匹配主阵列

的SKU设有在末端处开始的模型号码和彩色识别符聚集三个阵列 - 这些必须按字母顺序排列。

以补偿信息被输入无序我做了以下内容:

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

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

所以,现在的模特都是为了 - 我只是strrev($ modelsku)附和它们时后来。

我的问题是伴随的数组不是有相同的顺序 - 有没有办法让其他数组按照与天空数组相同的方式排序。

回答

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" } 
+0

完美 - 我想答案躺在阵列映射或多排序,但阵列总是让我头疼 – Tomate 2014-09-05 06:34:55