(PHP 4, PHP 5, PHP 7, PHP 8)
compact — Створює масив, який містить назви змінних та їхні значення
Створює масив, який містить назви змінних та їх значення.
Для кожного з переданих параметрів функція compact() шукає змінну в поточній таблиці символів та додає її до вихідного масиву таким чином, що назва змінної стає ключем елемента масиву, а її значення — значенням цього елемента. Коротше кажучи — це повна протилежність до extract().
Зауваження:
До PHP 7.3, будь-які невстановлені рядки будуть просто пропущені.
var_name
var_names
compact() приймає безліч параметрів. Кожен параметр може бути рядком, що містить назву змінної, або масивом назв змінних. Масив може містити інші масиви назв змінних; функція compact() опрацьовує їх рекурсивно.
Повертає вихідний масив усіх змінних, які були додані у нього.
Якщо заданий рядок посилається на невизначену змінну,
compact() видає помилку рівня
E_WARNING
.
Версія | Опис |
---|---|
8.0.0 |
Тепер видається помилка рівня E_WARNING , якщо
заданий рядок посилається на невизначену змінну.
|
7.3.0 |
compact() тепер видає помилку рівня
E_NOTICE , якщо заданий рядок посилається на
невизначену змінну. Раніше такі рядки просто пропускалися.
|
Приклад #1 Використання compact()
<?php
$city = "Сан-Франциско";
$state = "CA";
$event = "SIGGRAPH";
$location_vars = array("city", "state");
$result = compact("event", $location_vars);
print_r($result);
?>
Поданий вище приклад виведе:
Array ( [event] => SIGGRAPH [city] => Сан-Франциско [state] => CA )
Зауваження: Gotcha
Оскільки змінні змінних не можуть бути використані разом з суперглобальним масивом language.variables.superglobals.html в межах функцій, суперглобальні масиви не можуть бути передані в compact().