Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用PHP查找字符串中的第一个重复字符_Javascript_Php_String - Fatal编程技术网

Javascript 如何使用PHP查找字符串中的第一个重复字符

Javascript 如何使用PHP查找字符串中的第一个重复字符,javascript,php,string,Javascript,Php,String,我有一个给定的数组inputString:“fabcdeabfa”,当我执行代码时,输出是未定义的: 函数findFirstRepeated($inputString) { $h=数组(); $i=“”; 对于($i=0;$i

我有一个给定的数组inputString:“fabcdeabfa”,当我执行代码时,输出是未定义的:

函数findFirstRepeated($inputString)
{
$h=数组();
$i=“”;
对于($i=0;$iecho findFirstRepeated($inputString)
搜索重复子字符串的更有效方法是使用带有
preg\u match
的正则表达式:

$str="fabcdeabfa";
for ($l=0;preg_match ("/(.{".$l."}).*?\\1/", $str , $matches);$l++) $res=$matches[1];

echo "$res"; // fa
在此
for
循环中,我搜索固定长度的重复子字符串
$l
,从
$l=0
开始。只有当我得到匹配时,我才提取第一个匹配的子组(
matches[1]
)作为结果。只要
preg_match()
返回一个“falsy”值,那么
for
循环就会停止。E当所需的重复长度变得太大时


请参阅此处的演示:

PHP在哪里,CHUI是什么?据我所知,您以前曾问过这个问题。请注意,您推送的数组是$inputString[$i],每次$i增加一个,它将生成一个字符(例如“a”“b”),而不是一个字符串(例如“ab”)。实际上,对于您的代码,结果将是“a”,如果在同一个第一个索引中有许多重复的子字符串,如“FabcDiabFa”的“a”和“ab”,则返回最长的一个“ab”。根据上述定义的要求,示例“FabcDiabFa”的正确结果应为“fa”,因为该字符串出现在“ab”之前。