如何在PHP中从字符串中获取第一个非重复字符?

如何在PHP中从字符串中获取第一个非重复字符?,php,arrays,Php,Arrays,如何在PHP中从字符串中获取第一个非重复字符 我有这个示例字符串 $string = "ABBGAACCE"; $string_array = str_split($string); $temp_array = []; foreach($string_array as $key => $value) { if(array_key_exist($value, $temp_array)) { // already exist! }e

如何在PHP中从字符串中获取第一个非重复字符

我有这个示例字符串

$string = "ABBGAACCE";

$string_array = str_split($string);

$temp_array = [];
foreach($string_array as $key => $value)
{
    if(array_key_exist($value, $temp_array))
    {
       // already exist!
    }else{
       $temp_array[$value] = 1;
    }
}

这个答案比我之前的答案略短,在循环时使用消去过程

 <?php
    $string = "ABBGAACCE";
    $newString = $string;
    $stringLength = strlen($string);
    $temp = [];
    
    for($i = 1; $i <= $stringLength; $i++)
    {
        $cur = substr($string,$i,1);
        if(array_key_exists($cur, $temp))
        {
            $newString = str_replace($cur,"",$newString);       
        }
        else
        {
            $temp[$cur] = 1;
        }
    }
    print_r(substr($newString,0,1));

这个答案比我之前的答案略短,使用循环消除过程

 <?php
    $string = "ABBGAACCE";
    $newString = $string;
    $stringLength = strlen($string);
    $temp = [];
    
    for($i = 1; $i <= $stringLength; $i++)
    {
        $cur = substr($string,$i,1);
        if(array_key_exists($cur, $temp))
        {
            $newString = str_replace($cur,"",$newString);       
        }
        else
        {
            $temp[$cur] = 1;
        }
    }
    print_r(substr($newString,0,1));

使用数组计数值获取单个匹配项,然后过滤掉获取第一个值

$string = "ABBGAACCE";
$stringArray = str_split($string);
$countArr = array_count_values($stringArray);
$singleton = array_filter($countArr, function($elem){return $elem==1;});
print_r(array_keys($singleton)[0]);

使用数组计数值获取单个匹配项,然后过滤掉获取第一个值

$string = "ABBGAACCE";
$stringArray = str_split($string);
$countArr = array_count_values($stringArray);
$singleton = array_filter($countArr, function($elem){return $elem==1;});
print_r(array_keys($singleton)[0]);

本例中的输出应该是什么?@Waterlomatt它应该是
G
本例中的输出应该是什么?@Waterlomatt它应该是
G