(PHP 4, PHP 5)
compact — Erstellt ein Array mit Variablen und deren Werten
compact() übernimmt eine variable Anzahl von Parametern. Jeder Parameter kann entweder ein String mit einem Variablennamen, oder ein Array mit Variablennamen sein. Dieses Array kann auch andere Arrays mit Variablennamen enthalten; compact() behandelt sie rekursiv.
Für alle diese sucht compact() nach einer Variablen in der aktuellen Symboltabelle, und fügt diese dem zurückzugebenden Array hinzu, wobei der Variablenname als Schlüssel, und der Inhalt der Variablen als Wert gespeichert wird. Kurz, diese Funktion tut das Gegenteil von extract(). Sie gibt ein Array mit allen Variablen zurück.
Strings, welche nicht gesetzt sind, werden einfach ignoriert.
Hinweis: Achtung
Weil variable Variablen nicht mit PHPs superglobalen Arrays verwendet werden dürfen, können die superglobalen Arrays nicht an compact() übergeben werden.
Beispiel #1 compact()
<?php
$stadt = "San Francisco";
$staat = "CA";
$ereignis = "SIGGRAPH";
$location_vars = array("stadt", "staat");
$result = compact("ereignis", "nichts_hier", $location_vars);
?>
Danach wird $result:
Array ( [ereignis] => SIGGRAPH [stadt] => San Francisco [staat] => CA )
Siehe auch extract().