2016-09-08 7 views
-2

私のPHPコードのヘルプが必要複数の文字列を注文にソート

私は文字列配列を持っています。内部に複数の値が含まれています。 「XXL」「X」「1」「1.5」「2」「3」「T」「1K」「1.5K」「5K」「大人」「ワンサイズ」 '

ここでは、次のように並べ替えてください。 WXXS、WXS、WS、WM、WL、WXL、WXXL、青少年のうちの少なくとも1つであることを特徴とする請求項1に記載の方法。 、大人、1つのサイズ、8K、8.5K、9K、9.5K、10K、10.5K、11K、11.5K 12K、12.5K、13K、13.5K、1,1.5,2,5.5,3,3.5,4,4.5 5,5.5,6,6.5,7.5,8,8.5,9,9.5,10,10.5,11,11.5,12,12.5,13,​​13.5,14,14.5,15フットサル

私は必要とするソート機能またはこの問題を解決するアルゴリズム

答えて

1

実際にはこれらのオプションを並べ替える論理的な方法がないため、array_intersectを使用することができます。

<?php 

$sort_order = array('2T', '3T', '4T', 'YXXS', 'YXS', 'YS', 'YM', 'YL', 'YXL', 'XXS', 'XS', 'S', 'M', 'L', 'X', 'XL', 'XXL', 'XXXL', 'WXXS', 'WXS', 'WS', 'WM', 'WL', 'WXL', 'WXXL', 'Youth', 'Adult', 'One Size', '8K', '8.5K', '9K', '9.5K', '10K', '10.5K', '11K', '11.5K 12K', '12.5K', '13K', '13.5K', '1', '1.5', '2', '2.5', '3', '3.5', '4', '4.5', '5', '5.5', '6', '6.5', '7', '7.5', '8', '8.5', '9', '9.5', '10', '10.5', '11', '11.5', '12', '12.5', '13', '13.5', '14', '14.5', '15', 'Futsal'); 
$sizes  = array('XXL', 'X', '1', '1.5','2', '3', 'T', '1K','1.5K','5K','Adult','One Size'); 

$sorted_sizes = array_intersect($sort_order, $sizes); 

print_r($sorted_sizes); 

?>