如何在PHP中从字符串中获取第一个非重复字符?
如何在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
$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