アルファベット順の配列のソートが正しく出力されません。
次のように出力されました。
デモ qwerty Demo3 Test1 Test2 New1
それ以外の:
デモ デモ3 New1 qwerty Test1 Test2
コード:
<?php
$dbresults= array ( "0" => array ( "id" => "1",
"cb_boutiquename1" => "Test1",
"cb_boutiquename2" => "Test2",
"cb_boutiquename3" => "New1"
),
"1" => array ( "id" => "2",
"cb_boutiquename1" => "Demo",
"cb_boutiquename2" => "qwerty",
"cb_boutiquename3" => "Demo3"
)
);
function sortarray($a, $b) {
return strcmp($a["cb_boutiquename$i"], $b["cb_boutiquename$i"]);
}
usort($dbresults, "sortarray");
while (list($key, $value) = each($dbresults)) {
$results[] = $value ;
}
foreach($results as $result) {
$i = 1;
while (array_key_exists("cb_boutiquename$i", $result)) {
if ($result["cb_boutiquename$i"] !='') {
echo '<a href=' . cbSef( 'index.php?option=com_comprofiler&task=page&user=' . (int) $result['id'] . '&b=' . $i . getCBprofileItemid( false )) . '>' . $result["cb_boutiquename$i"] . '</a><br />';
}
++$i;
}
}
?>