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
// )
📘 Naucz się w lekcji →