Эта таблица состоит из 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>
$ key — это ключ, а $ PRODUK [key] — это название продукта. И их общая стоимость составляет $ прив.
А вот код для функции получить ранг
function get_rank($array){
$pref= $array;
arsort($pref);
$no=1;
$new = array();
foreach($pref as $key => $value){
$new[$key] = $no++;
}
return $new;
}
Это может помочь вам
$rank = get_rank($pref);
echo"<tr>";
echo"<th>".key($rank)."</th>";
echo "<td class='text-primary'>".round($pref[key($rank)], 3)."</td>";
echo "<td class='text-primary'>".reset($rank)."</td>";
echo "</tr>";
Нет никаких $PRODUK
объявлено в вашем фрагменте кода. Вы перебираете $rank
от foreach($rank as $key => $value)
, Итак, ключ $key
и копия $rank[$key]
в $value
, Попробуйте вывести $value
вместо этого или уточните свой вопрос и предоставьте больше кода, где можно увидеть, что $PRODUK
и его отношение к $rank
является.
Что касается вашего второго фрагмента, значения возвращаемого массива являются рангом, то есть они могут представлять ключи исходного массива. Таким образом, вы можете попытаться вывести, например, round($pref[$value])
а также $PRODUK[$value]
, Возможно, вам придется начинать с ранга 0, поскольку массивы обычно основаны на нуле. Однако вы не предоставляете код инициализации.
Опять же: Ваш вопрос не предоставляет достаточно информации.
Для того, чтобы ваш добавленный вопрос
Как отобразить только название товара в первом ряду
$key = 1; // respective to your code $no=1;
$value = $rank[$key];
Вам не нужен цикл foreach для доступа только к одному элементу.