Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> PHP

पीएचपी उपयोगकर्ता परिभाषित कार्य

परिचय

PHP में बड़ी संख्या में बिल्ट-इन फ़ंक्शंस हैं जैसे कि गणितीय, स्ट्रिंग, दिनांक, सरणी फ़ंक्शंस आदि। विशिष्ट आवश्यकता के अनुसार किसी फ़ंक्शन को परिभाषित करना भी संभव है। ऐसे फ़ंक्शन को उपयोगकर्ता परिभाषित फ़ंक्शन कहा जाता है।

एक फ़ंक्शन बयानों का एक पुन:प्रयोज्य ब्लॉक है जो एक विशिष्ट कार्य करता है। इस ब्लॉक को फंक्शन कीवर्ड से परिभाषित किया गया है और इसे एक ऐसा नाम दिया गया है जो एक अल्फाबेट या अंडरस्कोर से शुरू होता है। इस समारोह को कार्यक्रम के भीतर कहीं से भी कितनी भी बार बुलाया जा सकता है।

सिंटैक्स

//define a function
function myfunction($arg1, $arg2, ... $argn)
{
   statement1;
   statement2;
   ..
   ..
   return $val;
}
//call function
$ret=myfunction($arg1, $arg2, ... $argn);

फ़ंक्शन को वैकल्पिक लेकिन किसी भी संख्या में तर्कों के साथ परिभाषित किया जा सकता है। हालाँकि, कॉल करते समय समान संख्या में तर्क दिए जाने चाहिए। फ़ंक्शन के शरीर में कोई भी मान्य PHP कोड हो सकता है, जैसे कि सशर्त, लूप आदि (यहां तक ​​कि अन्य फ़ंक्शन या कक्षाएं फ़ंक्शन के अंदर परिभाषित की जा सकती हैं)। ब्लॉक में स्टेटमेंट निष्पादित करने के बाद, प्रोग्राम कंट्रोल उस स्थान पर वापस चला जाता है जहां से इसे वापस बुलाया गया था, भले ही फंक्शन ब्लॉक के अंतिम स्टेटमेंट को रिटर्न के रूप में मौजूद न हो। रिटर्न स्टेटमेंट के सामने एक एक्सप्रेशन कॉलिंग एनवायरनमेंट को अपना मान लौटाता है।

उपयोगकर्ता परिभाषित फ़ंक्शन उदाहरण

निम्नलिखित उदाहरण में एक usr परिभाषित फ़ंक्शन की परिभाषा और कॉल को दिखाता है sayhello()

उदाहरण

<?php
//function definition
function sayHello(){
   echo "Hello World!";
}
//function call
sayHello();
?>

कमांड लाइन से चलाने पर यह स्क्रिप्ट निम्नलिखित परिणाम देगी -

आउटपुट

Hello World!

तर्कों के साथ कार्य करें

निम्नलिखित उदाहरण में, एक फ़ंक्शन को दो औपचारिक तर्कों के साथ परिभाषित किया गया है

उदाहरण

<?php
function add($arg1, $arg2){
   echo $arg1+$arg2 . "\n";
}
add(10,20);
add("Hello", "World");
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

30
PHP Warning: A non-numeric value encountered in line 3

दूसरी कॉल में, दो स्ट्रिंग मान फ़ंक्शन तर्क के रूप में दिए जाते हैं। चूंकि PHP स्ट्रिंग्स के लिए + ऑपरेटर का समर्थन नहीं करता है, इसलिए एक चेतावनी उत्सर्जित होती है।

फ़ंक्शन वापसी

निम्नलिखित उदाहरण में उपयोगकर्ता परिभाषित फ़ंक्शन प्रदान किए गए तर्कों को संसाधित करता है और कॉलिंग परिवेश के लिए एक मान को वापस करता है

उदाहरण

<?php
function add($arg1, $arg2){
   return $arg1+$arg2;
}
$val=add(10,20);
echo "addition:". $val. "\n";
$val=add("10","20");
echo "addition: $val";
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

addition:30
addition:30

दूसरी कॉल में, भले ही तर्क स्ट्रिंग हों, PHP उन्हें पूर्णांक में जोड़ देता है और जोड़ देता है

डिफ़ॉल्ट तर्क मान के साथ कार्य करें

किसी फ़ंक्शन को परिभाषित करते समय, तर्क का एक डिफ़ॉल्ट मान असाइन किया जा सकता है। यदि फ़ंक्शन को कॉल करते समय इस तरह के एगमेंट को मान असाइन नहीं किया गया है, तो इस डिफ़ॉल्ट का उपयोग फ़ंक्शन के अंदर प्रसंस्करण के लिए किया जाएगा। निम्नलिखित उदाहरण में, एक फ़ंक्शन को डिफ़ॉल्ट मान वाले तर्क के साथ परिभाषित किया गया है

उदाहरण

<?php
function welcome($user="Guest"){
   echo "Hello $user\n";
}
//overrides default
welcome("admin");
//uses default
welcome();
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

Hello admin
Hello Guest

दूसरी कॉल में, फ़ंक्शन को बिना पासिंग वैल्यू के कॉल किया जाता है। इस मामले में, उपयोगकर्ता तर्क अपना डिफ़ॉल्ट मान लेता है।

तर्कों की परिवर्तनीय संख्या के साथ कार्य करें

तर्कों की परिवर्तनीय संख्या प्राप्त करने की क्षमता वाले फ़ंक्शन को परिभाषित करना संभव है। फ़ंक्शन परिभाषा में औपचारिक तर्क का नाम ... . द्वारा उपसर्ग किया गया है टोकन। निम्नलिखित उदाहरण में ऐड () फ़ंक्शन है जो तर्क के रूप में दिए गए नंबरों की एक सूची जोड़ता है

उदाहरण

<?php
function add(...$numbers){
   $ttl=0;
   foreach ($numbers as $num){
      $ttl=$ttl+$num;
   }
   return $ttl;
}
$total=add(10,15,20);
echo "total= $total\n";
echo "total=". add(1,2,3,4,5). "\n";
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

total= 45
total=15

फ़ंक्शन को दिए गए तर्कों की सूची func_get_args() की सहायता से प्राप्त करना भी संभव है समारोह। हम पारित तर्कों की सूची में प्रत्येक मान को पार करने के लिए एक PHP लूप चला सकते हैं। उस स्थिति में फ़ंक्शन परिभाषा में औपचारिक तर्क नहीं होता है।

उदाहरण

<?php
function add(){
   $numbers=func_get_args();
   $ttl=0;
   foreach ($numbers as $num){
      $ttl=$ttl+$num;
   }
   return $ttl;
}
$total=add(10,15,20);
echo "total= $total\n";
echo "total=". add(1,2,3,4,5). "\n";
?>

आउटपुट

यह निम्नलिखित परिणाम देगा। -

total= 45
total=15

किसी अन्य फ़ंक्शन के अंतर्गत कार्य करें

एक फ़ंक्शन को दूसरे फ़ंक्शन के बॉडी ब्लॉक के अंदर परिभाषित किया जा सकता है। हालांकि, बाहरी फ़ंक्शन को लागू करने से पहले आंतरिक फ़ंक्शन को कॉल नहीं किया जा सकता है।

उदाहरण

<?php
function hello(){
   echo "Hello\n";
   function welcome(){
      echo "Welcome to TutorialsPoint\n";
   }
}
//welcome();
hello();
welcome();
?>

हैलो से पहले wlcome () कॉल करने के लिए कमेंट को हटा दें। निम्नलिखित त्रुटि संदेश प्रोग्राम को रोक देता है -

Fatal error: Uncaught Error: Call to undefined function welcome()

आउटपुट

लाइन पर टिप्पणी करें और फिर से दौड़ें

Hello
Welcome to TutorialsPoint

पुनरावर्ती फ़ंक्शन

एक फ़ंक्शन जो स्वयं को कॉल करता है उसे रिकर्सिव फ़ंक्शन कहा जाता है। बिना शर्त कॉल करने से अनंत लूप बन जाता है और स्टैक फुल होने के कारण मेमोरी एरर से बाहर हो जाता है। निम्नलिखित प्रोग्राम फैक्टोरियल () फ़ंक्शन को पुनरावर्ती रूप से कॉल करता है

उदाहरण

<?php
function factorial($n){
   if ($n < 2) {
      return 1;
   } else {
      return ($n * factorial($n-1));
   }
}
echo "factorial(5) = ". factorial(5);
?>

आउटपुट

factorial(5) = 120

  1. पीएचपी मिनट () समारोह

    परिभाषा और उपयोग मिनट () फ़ंक्शन सरणी में सबसे कम तत्व देता है, या दो या दो से अधिक अल्पविराम से अलग किए गए मापदंडों में सबसे कम है। सिंटैक्स min ( array $values ) : mixed या min ( mixed $value1 [, mixed $... ] ) : mixed पैरामीटर Sr.No पैरामीटर और विवरण 1 मान यदि केवल एक पैरामीटर दिया गया है

  1. PHP अधिकतम () फ़ंक्शन

    परिभाषा और उपयोग अधिकतम () फ़ंक्शन सरणी में उच्चतम तत्व देता है, या दो या अधिक अल्पविराम से अलग किए गए मापदंडों में से उच्चतम देता है। सिंटैक्स max ( array $values ) : mixed या max ( mixed $value1 [, mixed $... ] ) : mixed पैरामीटर Sr.No पैरामीटर और विवरण 1 मान यदि केवल एक पैरामीटर दिया गया

  1. PHP लॉग 10 () फ़ंक्शन

    परिभाषा और उपयोग लॉग10 () फ़ंक्शन किसी संख्या के आधार-10 लघुगणक की गणना करता है। बेस-10 लघुगणक को सामान्य या सैंडर्ड एल्गोरिथम भी कहा जाता है। log10(x) फ़ंक्शन लॉग की गणना करता है10 एक्स। यह निम्नलिखित समीकरण द्वारा प्राकृतिक एल्गोरिथम से संबंधित है - लॉग 10 x=लॉगई x/लॉगई 10 ताकि लॉग 10 100=लॉ