我需要从一系列笔记中找到最高音符。我已经有了找到最高的代码,但是我需要获取该数组并找到最高的数组。我一直难以想象这一点。
$famount = $number;
$denom = array(1000, 2000, 5000, 10000, 20000, 50000);
function coin_change ($amount, $bills)
{
$change = array();
rsort($bills);
for($i=0; $i<count($bills); $i++) {
$change[$bills[$i]] = floor($amount/$bills[$i]);
$amount = $amount % $bills[$i];
echo $bills[$i] . " " .$change[$bills[$i]] ."<br>";
}
return $change;
}
$money = coin_change($famount, $denom);
使用上面的代码,我传入一个输入的变量,它会在数组中看到最高的账单。怎么可能拿这些账单然后找到最高的账单呢?
上述函数的预期示例结果:
50000:1
20000:0
10000:1
5000:1
2000:1
1000:1
基于上述结果的预期结果:
50000:0
20000:2
10000:1
5000:2
1000:3
谢谢。
答案 0 :(得分:0)
如果只添加非零的注释,则可以回显返回数组中的第一个键。
$denom = array(1000, 2000, 5000, 10000, 20000, 50000);
function coin_change ($amount, $bills)
{
$change = array();
rsort($bills);
for($i=0; $i<count($bills); $i++) {
If($bills[$i] <= $amount){ // only add notes that is more than one
$change[$bills[$i]] = floor($amount/$bills[$i]);
$amount = $amount % $bills[$i];
echo $bills[$i] . " " .$change[$bills[$i]] ."<br>\n";
}
}
return $change;
}
$money = coin_change(15000, $denom);
//$money = [10000, 5000];
// Echo only the first note (largest)
Foreach($money as $key => $m){
Echo $key; // 10000
Break;
}