第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將數(shù)組加在一起并顯示每個(gè)字母使用了多少次

將數(shù)組加在一起并顯示每個(gè)字母使用了多少次

PHP
臨摹微笑 2023-09-08 10:33:39
幾個(gè)小時(shí)以來(lái)我一直在嘗試自己尋找解決方案。嘗試不同的方法。我需要將一列中的所有名稱加在一起,并找出每個(gè)字母出現(xiàn)的次數(shù)。這就是我陷入困境的地方,它只獲取列中的名字并顯示有關(guān)它的信息,但我需要將它們?nèi)糠旁谝黄?text=mysqli_query($conn,"SELECT test from tabletest");//Fetch result $text=mysqli_fetch_assoc($text);$my_id=$text['test'];$text = str_replace(' ', '', $text );$arrLetters = str_split($text['test']);$countLetters = count($arrLetters);$letters = [];foreach($arrLetters as $letter){    if(isset($letters[$letter])){        $letters[$letter] += 1;    } else {        $letters[$letter] = 1;      }}foreach($letters as $letter => $total){    echo $letter.": ".$total.": ".round(($total/$countLetters*100),2)."%\n";} 
查看完整描述

1 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

如果你想計(jì)算字符串?dāng)?shù)組中每個(gè)字母的頻率,你可以使用mb_str_split()array_count_values()

例如,我的數(shù)據(jù)庫(kù)中有兩行:


foo bar

this is a test of emoji ??

考慮以下代碼。在這里,我使用mb_str_split()然后使用另一個(gè)foreach循環(huán)將循環(huán)內(nèi)的每個(gè)值拆分為單獨(dú)的字符,然后array_count_values($arrLetters)計(jì)算每個(gè)字符的頻率。


$stmt = $conn->prepare("SELECT test from tabletest");

$stmt->execute();

$result = $stmt->get_result();


foreach ($result as $row) {

? ? // split the string into characters

? ? $arrLetters = mb_str_split($row['test']);

? ? $countLetters = count($arrLetters);

? ? // count frequence of each character and immediately display results

? ? foreach (array_count_values($arrLetters) as $letter => $total) {

? ? ? ? echo $letter.": ".$total.": ".round(($total / $countLetters * 100), 2)."%\n";

? ? }

? ? echo '--------------'.PHP_EOL;

}

它將產(chǎn)生以下輸出:


f: 1: 14.29%

o: 2: 28.57%

?: 1: 14.29%

b: 1: 14.29%

a: 1: 14.29%

r: 1: 14.29%

--------------

t: 3: 12%

h: 1: 4%

i: 3: 12%

s: 3: 12%

?: 6: 24%

a: 1: 4%

e: 2: 8%

o: 2: 8%

f: 1: 4%

m: 1: 4%

j: 1: 4%

??: 1: 4%

--------------

如果您想將所有行的頻率作為一個(gè)結(jié)果,那么您可以將其全部分解為一個(gè)字符串,并且無(wú)需循環(huán)即可完成。


$stmt = $conn->prepare("SELECT test from tabletest");

$stmt->execute();

$result = $stmt->get_result();


// Implode it all into a single string

$text = implode(array_column($result->fetch_all(MYSQLI_NUM), 0));


// split the string into characters

$arrLetters = mb_str_split($text);

$countLetters = count($arrLetters);

// count frequence of each character and immediately display results

foreach (array_count_values($arrLetters) as $letter => $total) {

? ? echo $letter.": ".$total.": ".round(($total / $countLetters * 100), 2)."%\n";

}

這會(huì)給你這個(gè)輸出:


f: 2: 6.25%

o: 4: 12.5%

?: 7: 21.88%

b: 1: 3.13%

a: 2: 6.25%

r: 1: 3.13%

t: 3: 9.38%

h: 1: 3.13%

i: 3: 9.38%

s: 3: 9.38%

e: 2: 6.25%

m: 1: 3.13%

j: 1: 3.13%

??: 1: 3.13%


查看完整回答
反對(duì) 回復(fù) 2023-09-08
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)