Как проверить, содержит ли слово все буквы из определенного набора

Есть строка - "Барселона", хочу проверить, входят ли буквы "слонж" в искомое слово, если нет вывожу - 0, если входят - 1.

Мой вариант работает не совсем правильно. Нужно чтобы проверка по всем буквам была, в данный момент если находит хотя бы одну буквы, выводит - 1.

if(preg_match_all('#[слонж]#ui', 'барселона')) {
    echo('1');
}else {
    echo('0');
}

Ответы (1 шт):

Автор решения: Алексей Шиманский

Не знаю как на счёт регулярок, но мне кажется проще сделать на массивах:

$word = 'барселона';
$letters = 'слонж';

$lettersExploded = mb_str_split($letters);    
$wordExploded  = mb_str_split($word);


echo count(array_diff($lettersExploded, $wordExploded)) > 0 ? 'Хьюстон, у нас проблемы!' : 'Все буквы входят в слово';
→ Ссылка