PHP में अन्य भाषाओं (जैसे, टुपल्स के साथ Python) की तरह एक फंक्शन से कई मान वापस करने का कोई सीधा तंत्र नहीं है। हालाँकि, कई तकनीकें इस कार्यक्षमता का प्रभावी ढंग से अनुकरण करती हैं। यह लेख चार सामान्य और कुशल तरीकों का पता लगाता है: ऐरे का उपयोग करना, सशर्त तर्क को नियोजित करना, ऐरे और सशर्त तर्क को संयोजित करना, और जेनरेटर का लाभ उठाना।
विषयवस्तु की तालिका
- ऐरे के साथ कई मान वापस करना
- सशर्त वापसी
- ऐरे और सशर्त तर्क का संयोजन
- कई मानों के लिए जेनरेटर का उपयोग करना
ऐरे के साथ कई मान वापस करना
सबसे सरल और सबसे अधिक उपयोग की जाने वाली विधि में कई मानों वाले ऐरे को वापस करना शामिल है। प्रत्येक मान को उसकी कुंजी या सूचकांक का उपयोग करके पहुँचा जाता है। यह निश्चित मानों के समूह को वापस करने के लिए विशेष रूप से स्वच्छ और पठनीय है।
<?php
function getUserData($userId) {
// डेटाबेस फ़ेच का अनुकरण करें
$userData = [
'id' => $userId,
'name' => 'John Doe',
'email' => '[email protected]',
];
return $userData;
}
$user = getUserData(123);
echo "User ID: " . $user['id'] . "<br>";
echo "User Name: " . $user['name'] . "<br>";
echo "User Email: " . $user['email'] . "<br>";
?>
यह उदाहरण एक एसोसिएटिव ऐरे देता है। कॉलिंग कोड अपनी कुंजी का उपयोग करके प्रत्येक मान तक पहुँचता है।
सशर्त वापसी
जब वापस किए गए मानों की संख्या या प्रकार फ़ंक्शन के भीतर स्थितियों पर निर्भर करता है, तो सशर्त तर्क आवश्यक है। परिणाम के आधार पर अलग-अलग मान वापस किए जाते हैं।
<?php
function checkNumber($number) {
if ($number > 0) {
return "Positive";
} elseif ($number < 0) {
return "Negative";
} else {
return "Zero";
}
}
echo checkNumber(5) . "<br>"; // आउटपुट: Positive
echo checkNumber(-3) . "<br>"; // आउटपुट: Negative
echo checkNumber(0) . "<br>"; // आउटपुट: Zero
?>
यह फ़ंक्शन इनपुट संख्या के आधार पर गतिशील रूप से एक स्ट्रिंग देता है।
ऐरे और सशर्त तर्क का संयोजन
ऐरे और सशर्त तर्क के संयोजन से लचीलापन मिलता है। लौटाए गए ऐरे की सामग्री स्थितियों के आधार पर बदलती है।
<?php
function processData($data) {
if (isset($data['name'])) {
return [
'status' => 'success',
'name' => $data['name'],
];
} else {
return [
'status' => 'error',
'message' => 'Name is missing',
];
}
}
$result1 = processData(['name' => 'Jane Doe']);
$result2 = processData([]);
print_r($result1);
print_r($result2);
?>
यह इनपुट के आधार पर अतिरिक्त डेटा के साथ सफलता या त्रुटि का संकेत देने वाला एक ऐरे देता है।
कई मानों के लिए जेनरेटर का उपयोग करना
बड़े डेटासेट या पुनरावृति प्रक्रियाओं के लिए, PHP जेनरेटर दक्षता प्रदान करते हैं। वे एक समय में एक मान “उत्पन्न” करते हैं, एक साथ सब कुछ संग्रहीत करने से जुड़ी मेमोरी समस्याओं से बचते हैं।
<?php
function generateNumbers($limit) {
for ($i = 0; $i < $limit; $i++) {
yield $i;
}
}
foreach (generateNumbers(5) as $number) {
echo $number . " "; // आउटपुट: 0 1 2 3 4
}
?>
generateNumbers
क्रमिक रूप से संख्याएँ वापस करने के लिए yield
का उपयोग करता है, जो बड़े डेटासेट के लिए आदर्श है।
संक्षेप में, जबकि PHP में सीधी “एकाधिक वापसी मान” सुविधा का अभाव है, ऐरे, सशर्त तर्क और जेनरेटर प्रभावी विकल्प प्रदान करते हैं, जिससे आप अपनी विशिष्ट आवश्यकताओं और फ़ंक्शन जटिलता के आधार पर सबसे अच्छा तरीका चुन सकते हैं।