我有一個簡單的 PHP 代碼,其中陣列中的值從最大到最低排序。
我需要它們像回圈的基本 HTML 值一樣列印。
我的代碼:
$kosik = [
[
"typ" => "ovocna",
"amount" => $ovocnaNUM
],
[
"typ" => "slana",
"amount" => $slanaNUM,
],
[
"typ" => "sladka",
"amount" => $sladkaNUM
]
];
usort($kosik, function ($a, $b) {
return $b["amount"] - $a["amount"];
});
我需要回應它們,但是當我使用它時,我得到了錯誤:
foreach($kosik as $key => $value) {
echo "$key - $value <br>";
}
錯誤:陣列到字串的轉換
但是當我使用這個時:
foreach($kosik[0] as $key => $value) {
echo "$key - $value <br>";
}
我沒有錯誤,但只列印了第一個值。
是否有任何選項我可以使用 foreach 或回圈列印所有值,例如在上面的代碼中列印一個值?
uj5u.com熱心網友回復:
一種方法,只需使用其成員處理 $value 陣列
foreach($kosik as $key => $value) {
echo "$key - $value[typ], $value[amount] <br>";
}
請注意,在雙引號字串中,您對陣列的尋址略有不同,您不要在出現名稱周圍使用引號。
可能更靈活,您可以使用雙回圈,特別是如果您不知道或不能保證事件將永遠存在
$str = '';
foreach($kosik as $key => $value) {
$str .= "$key - ";
foreach ( $value as $val ) {
$str .= "$val, ";
}
$str = rtrim($str, ', '); remove trailing comma
$str .= '<br>';
}
uj5u.com熱心網友回復:
這是您的腳本的結果:
Array ( [0] => Array ( [typ] => ovocna [amount] => ) [1] => Array ( [typ] => slana [amount] => ) [2] => Array ( [typ] => sladka [amount] => ) )
錯誤是您在 foreach 回圈中使用的 $value 是一個陣列,因此您不能使用 echo 函式。要訪問 'typ' 和 'amount' 的值,您必須使用以下形式 $value ['typ'] 和 $value ['amount']。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/443951.html
下一篇:如何計算更新的行數
