Компактный метод извлекает имя строки предыдущей (ых) переменной (ей).Это дизайн базового PHP.Если вы посмотрите на комментарии к самому методу, он поможет описать немного больше:
Каждый параметр может быть либо строкой, содержащей имя переменной, либо массивом имен переменных.Массив может содержать другие массивы имен переменных внутри него;Compact обрабатывает его рекурсивно.
Еще одно замечание: в PHP 7.3 в этот метод было внесено критическое изменение в PHP - если переменная не была инициализирована до вызова compact, она завершится ошибкой.Это был не тот случай, предшествующий 7.3, и, таким образом, вызвал значительный объем рефакторинга для многих разработчиков.Будьте осторожны, чтобы инициализировать ваши сжатые переменные, если вы используете <7.3, и планируете обновиться в будущем. </p>