我有问题,我不知道如何解决它。 我有这样的字符串。
$string = "car apple computer car"
$string2 = "car apple computer"
我需要函数,它可以区分字符串是否包含两个相同的单词。所以对于$ string返回1和$ string2返回0
答案 0 :(得分:-1)
使用explode()
用空格拆分句子。计算元素,然后使用array_unique()
。如果有重复项,元素数将会下降。
<?php
function hasSameWords($string) {
$array = explode(' ', $string);
$count = count($array);
$unique = array_unique($array);
$uniqueCount = count($unique);
return $uniqueCount < $count;
}
$string = "car apple computer car";
$string2 = "car apple computer";
echo hasSameWords($string) ? 'true' : 'false';
echo hasSameWords($string2) ? 'true' : 'false';
输出:
True
False
在此处试试:https://3v4l.org/8iidN
答案 1 :(得分:-2)
您可以使用explode
将字符串转换为数组。使用array_unique
获取唯一字词。如果唯一字的计数和数组的计数相同,则字符串(数组)没有相同的字。
function func($str) {
$arr = explode( ' ', $str );
return count(array_unique( $arr )) === count( $arr );
}
echo func( "car apple computer car" );
echo func( "car apple computer" );