compact
funkcja
Tworzy tablicę asocjacyjną z nazw zmiennych: klucze to nazwy zmiennych, wartości — ich zawartość z bieżącego zakresu.
compact(array|string $var_name, mixed ...$var_names): array
compact pobiera nazwy zmiennych jako ciągi znaków (lub tablicę ciągów) i tworzy z nich tablicę asocjacyjną, gdzie klucze to nazwy zmiennych, a wartości to ich aktualne wartości z bieżącego zakresu (scope). Jest to odwrotność extract. Jeśli zmienna o podanej nazwie nie istnieje, zostanie pominięta — PHP 7.3 zaczął emitować E_NOTICE, a od PHP 8.0 jest to E_WARNING.
Przydaje się do wygodnego pakowania wielu zmiennych lokalnych w jedną tablicę — np. przed przekazaniem danych do szablonu.
<?php
declare(strict_types=1);
$imie = 'Anna';
$wiek = 30;
$miasto = 'Kraków';
$dane = compact('imie', 'wiek', 'miasto');
print_r($dane);
// wynik:
// Array
// (
// [imie] => Anna
// [wiek] => 30
// [miasto] => Kraków
// )