Как отсортировать массив без замены элемента индекса? Когда я сортирую отсутствующий массив по убыванию, тогда значение индексации будет заменено, есть ли способ отсортировать массив по убыванию и сохранить исходные индексы?
// Get Current Session
$Res_Sess = mysql_query("SELECT sessionid from tbl_session WHERE status=1 ORDER BY sessionid desc limit 1");
$Row_Sess = mysql_fetch_array($Res_Sess);
$Session = $Row_Sess[0];
// Get Batch
$Res_Bat = mysql_query("SELECT batchid,batchname,code FROM tbl_batch where status=1 and batchid!=12 ORDER BY batchid asc");
$allAbsent = array();
$indexes = 0;
while ($Row_Bat = mysql_fetch_array($Res_Bat)) {
$Batch = $Row_Bat['batchid'];
$Bat_Code = $Row_Bat['code'];
$qatt1 = mysql_query("select count(id),rollno from tbl_attendance where batchid = '$Batch' and sessionid = '$Session' GROUP BY rollno");
$array = array();
$array_rollno = array();
$i1 = 0;
while ($Row_T = mysql_fetch_array($qatt1)) {
$array[$i1] = $Row_T[0];
$array_rollno[$i1] = $Row_T[1];
$i1++;
}
$maxValue = max($array);
$roll_no = $array_rollno;
foreach($roll_no as $roll) {
$allRollno[$indexes] = $roll;
// Absent - Attendance
$Abatt4 = mysql_query("select count(id) from tbl_attendance where rollno = '$roll' and batchid = '$Batch' and sessionid = '$Session' and attend = 0 GROUP by rollno");
if ($Row_A4 = mysql_fetch_array($Abatt4)) {
$allAbsent[$indexes] = round(($Row_A4[0] / $maxValue * 100) , 2);
} else {
$allAbsent[$indexes] = 0;
}
$indexes++;
}
print_r($allAbsent);
echo "<br /><br />";
$tabsent = $allAbsent;
rsort($tabsent);
foreach($tabsent as $key => $val) {
echo "[$key] => $val\n";
}
Не могли бы вы разместить отсортированные данные в очереди. На самом деле я хочу знать, какой тип массива вы используете. Ассоциативный массив?






Быстрый поиск Google обычно помогает...
arsort($tabsent);
Из руководство:
arsort — Sort an array in reverse order and maintain index association
Все функции сортировки массивов PHP будут переназначать индексы после сортировки. Почему бы вместо этого не отсортировать SQL-запрос? Это должно упорядочить данные еще до того, как вы назначите их массиву.