PHP में compact() फ़ंक्शन चर नामों से एक सहयोगी सरणी (associative array) बनाता है जहाँ चर नाम कुंजियाँ (keys) बनते हैं और उनके मान मान (values) बनते हैं। यह extract() का विपरीत कार्य करता है।
सिंटैक्स (Syntax)
compact(string|array $var_name, string|array ...$var_names): array
पैरामीटर्स (Parameters)
$var_name − चर नाम (स्ट्रिंग) या चर नामों की सरणी। आवश्यक।
$var_names (वैकल्पिक) − अतिरिक्त चर नाम या सरणियाँ।
रिटर्न वैल्यू (Return Value)
निर्दिष्ट चरों से बनी सहयोगी सरणी लौटाता है। अपरिभाषित चर चुपचाप छोड़ दिए जाते हैं।
उदाहरण (Examples)
उदाहरण 1: मूल उपयोग
<?php
$ELE = "Electronics";
$ACC = "Accessories";
$result = compact("ELE", "ACC");
print_r($result);
?>
आउटपुट
Array
(
[ELE] => Electronics
[ACC] => Accessories
)
उदाहरण 2: सरणी के रूप में चर नाम पास करना
<?php
$name = "Tom";
$subject = "Hanks";
$id = "001";
$details = array("name", "subject");
$result = compact($details, "id");
print_r($result);
?>
आउटपुट
Array
(
[name] => Tom
[subject] => Hanks
[id] => 001
)
उदाहरण 3: अपरिभाषित चर - चुपचाप छोड़ दिए जाते हैं
<?php
$a = 1;
$c = 3;
$result = compact("a", "b", "c"); // $b परिभाषित नहीं है
print_r($result);
?>
आउटपुट
Array
(
[a] => 1
[c] => 3
)
उदाहरण 4: व्यावहारिक उपयोग - टेम्पलेट डेटा तैयार करना
<?php
$title = "Welcome";
$user = "Amit";
$items = ["Apple", "Banana"];
$meta = ["description" => "Demo page"];
$templateData = compact("title", "user", "items", "meta");
// extract($templateData) से चर पुनः प्राप्त करें
?>
compact() vs extract()
| फ़ंक्शन | कार्य |
|---|---|
| compact() | चर → सरणी (चर नाम कुंजी बनते हैं) |
| extract() | सरणी → चर (कुंजियाँ चर नाम बनती हैं) |