как получить доступ к строке в ассоциативном массиве?

Эта таблица состоит из 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;
}

0

Решение

Это может помочь вам

    $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>";
0

Другие решения

Нет никаких $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 для доступа только к одному элементу.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector