現在、配列に属する服のサイズ配列 (SML XL XXL など) を並べ替えようとしています。私は次の関数を介してこれを行うことができます(この場所Php Array Sorting Clothing Sizes (XXS XS SML XL XXL) and Numbers on a Dynamic Array のおかげで):
function cmp($a, $b) {
$sizes = array(
"XXS" => 0,
"XS" => 1,
"S" => 2,
"M" => 3,
"L" => 4,
"XL" => 5,
"XXL" => 6
);
$asize = $sizes[$a];
$bsize = $sizes[$b];
if ($asize == $bsize) {
return 0;
}
return ($asize > $bsize) ? 1 : -1;
}
usort($the_array, "cmp");
$the_array("S", "M", "XL") のような配列の場合、これはすべてうまくいきます。ただし、私の配列は次のようになります。
$the_array = array("S : price £10", "XXL : price £10", "M : price £10", "XS : price £10")
これは機能しません...理想的には「:」までの配列の最初の部分のみを調べる関数が必要です。そのようなことはありますか?
助けてくれてありがとう。