我想要如下的示例輸出。
1: 2 次
2: 3 次
3: 2 次
4:1 發生
5:1 發生
7:1 發生
出現的次數基于表單格式中的用戶輸入。下面是我用來讓用戶輸入數字的 Html 代碼。
<!DOCTYPE html>
<html>
<style>
h1{
text-align:center;
}
form{
text-align:center;
margin:auto;
border-style: solid;
width:700px;
height:250px;
}
</style>
<body>
<form action="page2" method="get">
<h1>Algorithm Calculator</h1>
<label for="fname">Enter Number with Comma <br> eg:
1,2,3,4,4,5,5,7</label><br><br>
<input type="text" id="number" name="number"><br>
<br>
<input type="submit" value="Confirm">
</form>
</body>
</html>
第二頁代碼
<?php
$number=$_GET['number'];
$result = array();
$result = explode(',',$number);
foreach ($result as $value){
echo "$value = ".array_count_values($result)
[$value]." occurrences <br>";
}
?>
我只希望我的代碼回圈一次,但如果用戶輸入相同的數字兩次,它就會回圈多次。下面是我的輸出。
1 = 1 次出現
2 = 1 次出現
3 = 1 次出現
4 = 2 次
4 = 2 次(我不希望它回圈兩次)
uj5u.com熱心網友回復:
在進入回圈之前,您將需要處理用戶輸入。
$result = explode(',',$number);
foreach (array_unique($result) as $value){
echo "$value = ".array_count_values($result)
[$value]." occurrences <br>";
}
您將只保留陣列中的唯一值,因此每個值僅回圈一次。
uj5u.com熱心網友回復:
array_count_values函式提供陣列中唯一元素作為鍵,并提供出現次數作為陣列中的值。所以解決方案可以如下所述:
<?php
$number=$_GET['number'];
$result = array();
$result = explode(',',$number);
foreach (array_count_values($result) as $key => $value) {
echo "{$key} = {$value} occurrences <br />";
}
?>
uj5u.com熱心網友回復:
回圈 a 的結果array_count_values()很容易。
$number='9,9,4,4,22,22,22';
$result = explode(',',$number);
print_r(array_count_values($result));
foreach(array_count_values($result) as $n=>$occ) {
echo "$n = $occ occurrences <br />" . PHP_EOL;
}
結果
的array_count_value()鍵為被計數的數字和值作為數字的occurances產生一個陣列
Array
(
[9] => 2
[4] => 2
[22] => 3
)
所以輸出是
9 = 2 occurrences <br />
4 = 2 occurrences <br />
22 = 3 occurrences <br />
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/370970.html
標籤:php
上一篇:通過“連接賦值運算子”在回圈內連接PHP變數,并分別回顯每個輸出回圈
下一篇:與物件值斗爭
