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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取字符串中不重復(fù)的字符并統(tǒng)計它們

獲取字符串中不重復(fù)的字符并統(tǒng)計它們

PHP
蕭十郎 2024-01-19 14:46:57
我需要處理一個字符串,例如abclkjabc并僅返回3計算字符l、k和 的字符串j。我已經(jīng)嘗試過這個。$stringArr = [];foreach(str_split($string) as $pwd) {   if(!in_array($pwd, $stringArr)) {      $stringArr[] = $pwd;   }}$uniqChar = count($stringArr);
查看完整描述

3 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗 獲得超4個贊

請嘗試以下方法:


function getNonRepeatingCharacters($str) {

    $counter = [];

    $spllitted = str_split($str);

    foreach($spllitted as $s) {

        if(!isset($counter[$s])) $counter[$s] = 0;

        $counter[$s]++;

    }

    $non_repeating = array_keys(array_filter($counter, function($c) {

        return $c == 1;

    }));


    return $non_repeating;

}


$string = "abclkjabc";

$handle = getNonRepeatingCharacters($string);


查看完整回答
反對 回復(fù) 2024-01-19
?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗 獲得超4個贊

函數(shù)式編程并且沒有臨時變量聲明:

  1. 創(chuàng)建字符數(shù)組

  2. 統(tǒng)計每個字符出現(xiàn)的次數(shù)

  3. 僅保留出現(xiàn)過一次的字符(array_filter()也可以,但更冗長)

  4. 重新加入符合條件的角色

代碼:(演示)(或只是計數(shù)

echo implode(

         array_keys(

             array_intersect(

                 array_count_values(

                     str_split('abclkjabc'),

                 ),

                 [1]

             )

         )

     );

或者使用帶有循環(huán)的半功能:(演示)(或只是計數(shù)

$unique = '';

foreach (array_count_values(str_split('abclkjabc')) as $char => $count) {

    if ($count === 1) {

        $unique .= $char;

    }

}

echo $unique;

輸出:

lkj

可以使用 獲取輸出字符串的長度strlen()


您可以使用 來計算字符值,而不是拆分字符串和計數(shù)數(shù)組值count_chars()。(演示

$string = 'abclkjabc';

$notRepeated = [];

foreach (count_chars($string, 1) as $char => $count) {

    if ($count === 1) {

        $notRepeated[] = chr($char);

    }

}

var_export($notRepeated);

echo "\nCount = " . count($notRepeated);

最終,如果您只需要計算非重復(fù)字符的數(shù)量,這一行就可以滿足您的要求。(演示

echo count(array_filter(count_chars($string, 1), fn($count) => $count === 1));


查看完整回答
反對 回復(fù) 2024-01-19
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊

嘗試這個:


function getNonRepeatingChars($str) {

    $uniqueLetters = '';

    $multipleLetters = '';

    $arrayStr = str_split($str);


    foreach ($arrayStr as $index => $letter) {

        if (strpos($multipleLetters, $value) !== false || strpos($str, $value, $index + 1) !== false) {

            $multipleLetters .= $value;

            continue;

        }


        $uniqueLetters .= $value;

    }


    return $uniqueLetters;

}

echo getNonRepeatingChars('abclkjabc'); // lkj


查看完整回答
反對 回復(fù) 2024-01-19
  • 3 回答
  • 0 關(guān)注
  • 189 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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