データベースからの2つの配列を利用可能な布のサイズとデフォルトのサイズと比較する必要があります
$sizedefault = array('s','m','l','xl','xxl','xxxl','xxxxl','xxxxxl'); // Default Sizes
$sizeavailable = explode(',',$pd_size); // Available Sizes (db) s,m,l,xl
$available = array_diff($sizedefault , $sizeavailable );
$notavailable = array_intersect($sizeavailable , $sizedefault);
$output = "";
foreach ($notavailable as $value){
$output .= "<input type=\"checkbox\" name=\"size[]\" id=\"$value\" value=\"$value\" checked=\"checked\"/><label for=\"$value\">".$value."</label>";
}
foreach($available as $value){
$output .= "<input type=\"checkbox\" name=\"size[]\" id=\"$value\" value=\"$value\" /><label for=\"$value\">".$value."</label>";
}
これまでのところ機能しますが、たとえば「xxxxl」をチェックして送信/要求した後、出力はソートされません。
この結果が得られます:(x)=チェック済み
s(x)m(x)l(x)xl(x)xxxxl(x)xxxxxl()xxl()
どうすればそれらを並べ替えておくことができ$sizedefault
ますか?
s(x)m(x)l(x)xl(x)xxl()xxxxl(x)xxxxxl()