А можно эту игруху замутить и без php а JS и использовать локалстор, смысл?? только если что то нужно хранить историю действий.
а если это сетевая игра, то тогда есть такая штука как вебсокет и тогда все эти конструкции из иф не нужны
делаешь просто открываешь соеденение вебсокет , в этой сессии ты создаешь массив и при каждом отправлении ты вначале полученое слово:
1. приводишь к общему регистру
пример:
$wordsArray = [города]
$wordToSearch = "город";
$lowercaseWordToSearch = strtolower($wordToSearch);
$minSimilarity = 80; // Процент сходства, который считается достаточным так как человек же мог ошибиться в названии города, и ещё бы я составил бы массив сокращенных названий городов. слово питер, санкт-петербург, ёбург и т д
foreach ($wordsArray as $word) {
similar_text($word, $wordToSearch, $similarity);
if ($similarity >= $minSimilarity) {
echo "Город такой уже назвали: $word\n";
break;
}
}
Потом уже ты запускаешь проверку
$firstLetter = substr($wordToSearch, 0, 1);
или ещё короче
$firstLetter = $wordToSearch[0];
получаешь последнее слово(город) в массиве
$lastElement = end($wordsArray);
$lastLetter = $lastElement[strlen($lastElement) - 1];
ну и сравниваешь