Эта таблица состоит из 3-х столбцов: имя-ключа продукта, общее значение и ранжирование. Эти ряды сортируются по общей стоимости. Как отображать только имя продукта в первой строке, которая имеет наибольшую общую стоимость? Как получить доступ к ключу первой строки, которая имеет наибольшую ценность?Как получить доступ к строке в ассоциативном массиве?
Вот код таблицы ранга
<table class="table table-bordered table-striped table-hover">
<tr>
<th></th>
<th>Total</th>
<th>Rank</th>
</tr>
<?php
$rank = get_rank($pref);
foreach($rank as $key => $value){
echo"<tr>";
echo"<th>$key - $PRODUK[$key]</th>";
echo "<td class='text-primary'>".round($pref[$key], 3)."</td>";
echo "<td class='text-primary'>".$rank[$key]."</td>";
echo "</tr>";
$no++;
}
?>
</table>
$ ключ является ключом и $ Produk [ключ] имя продукта. И их общая стоимость составляет $ прив.
А вот код функции ПОЛУЧИТЬ ранга
function get_rank($array){
$pref= $array;
arsort($pref);
$no=1;
$new = array();
foreach($pref as $key => $value){
$new[$key] = $no++;
}
return $new;
}
Какой смысл функции 'get_rank'? Может быть, получить упорядоченную * копию * массива вместо повторного упорядочивания массива? Не использует 'arsort()', а затем нумерует ключи точно так же, как с помощью 'sort()'? –
Пожалуйста, покажите, как инициализируются/генерируются '$ PRODUK' и' $ pref'. –
Если этот массив представляет таблицу, мне любопытно, почему вы не просто используете запрос для получения и сортировки данных так, как хотите. –