Для исправления ошибки "Illegal string offset" в PHP 7.4 необходимо проверять, существует ли ключ перед доступом к нему в массиве. В вашем случае, прежде чем обращаться к `$server['unit']` и `$server['game']`, нужно убедиться, что они существуют и являются массивами.
Вот исправленный код с проверкой на существование ключей:
```php
while($server = $sql->get()) {
$unit = isset($server['unit']) ? $server['unit'] : null;
$game = isset($server['game']) ? $server['game'] : null;
if ($unit !== null && $game !== null) {
$aUnit[$unit][$game] = $aUnit[$unit][$game] ?? '';
$aUnit[$unit][$game] .= $server['id'].' ';
}
}
```
Этот код сначала проверяет, существуют ли ключи 'unit' и 'game' в массиве `$server`. Если они существуют, то происходит добавление `$server['id']` в соответствующую ячейку `$aUnit`. Таким образом, вы избегаете ошибки "Illegal string offset" и корректно обращаетесь к элементам массива.