この表は、製品のキー名、合計値、およびランクの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 [キー]は、製品の名前ですされています。そしてその合計金額は$ prefです。
そしてここでは、あなたのコードスニペットで宣言された$PRODUK
はありませんGETランク
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'がどのように初期化/生成されるかを示してください。 –
この配列がテーブルを表している場合は、クエリを使用して必要な方法でデータを取得およびソートするだけではないのはなぜか不思議です。 –