Убедитесь, что фраза, состоящая из нескольких слов, существует в строке ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Убедитесь, что фраза, состоящая из нескольких слов, существует в строке

Сообщение Anonymous »

У меня есть функция для проверки последовательности слов:

Код: Выделить всё

function sequence($arr_scheme = [], $arr_input = [])
{
$sequence_need = array_values(array_intersect($arr_scheme, $arr_input));
if(!empty($arr_input) && ($sequence_need == $arr_input)):
return true;
else:
return false;
endif;
}
Это были мои переменные образца и схемы:

Код: Выделить всё

$sample = "branch of science";
$scheme = "The branch of science concerned of nature and property of matter and energy";
Я преобразовал в массив:

Код: Выделить всё

$arr_sample = explode(" ",trim(rtrim(rtrim($sample,".")," ")));
echo 'Sample:';
var_dump($arr_sample);
Изображение

Код: Выделить всё

$arr_scheme = explode(" ",trim(rtrim(rtrim($scheme,".")," ")));
echo '
Scheme:';
var_dump($arr_scheme);
Изображение


Теперь я проверяю последовательность:

Код: Выделить всё

$result = sequence($arr_scheme, $arr_sample);
Результат:

Код: Выделить всё

echo '
Result:';
var_dump($result);
Изображение


Когда я установил переменную $sample в значение

Код: Выделить всё

"branch science"
результат вернет true. Это было нормально.

Однако, когда я установил для переменной sample значение

Код: Выделить всё

"branch of science"
результат вернет false .

Причина — слово было больше 1, как мне решить эту проблему?

[img]https:/ /i.sstatic.net/BfySz.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/379 ... n-a-string

Вернуться в «Php»