2014-09-05 57 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