如何计算不包括';它在PHP中重复出现
如果给定字符串abclkjabc,则只返回3,即lkj 我试过这个如何计算不包括';它在PHP中重复出现,php,Php,如果给定字符串abclkjabc,则只返回3,即lkj 我试过这个 $stringArr=[]; foreach(str_分割($string)为$pwd){ 如果(!in_数组($pwd,$stringArr)){ $stringArr[]=$pwd; } } $uniqChar=计数($stringArr); 请尝试以下方法: function getNonRepeatingCharacters($str) { $counter = []; $spllitted = str_
$stringArr=[];
foreach(str_分割($string)为$pwd){
如果(!in_数组($pwd,$stringArr)){
$stringArr[]=$pwd;
}
}
$uniqChar=计数($stringArr);
请尝试以下方法:
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);
试试这个:
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;
}
函数式编程,无临时变量声明:
array\u filter()
也可以,但更详细)lkj
我猜你认为重复字符串可以有一个任意长度?@ RSuthina是我的答案不正确?或者这仅仅是我最近的一个“粉丝”的持续攻击,Stack Overflow还没有成功禁止其进入网站?为了提高问题的清晰度,你真的需要知道包含唯一字符的字符串吗?还是只知道计数?我实际上需要知道这两者,包含唯一值和计数的字符串。
echo implode(
array_keys(
array_intersect(
array_count_values(
str_split('abclkjabc'),
),
[1]
)
)
);
$unique = '';
foreach (array_count_values(str_split('abclkjabc')) as $char => $count) {
if ($count === 1) {
$unique .= $char;
}
}
echo $unique;
lkj