PHP Variable Length Argument Functions In Hindi


अभी तक हमने PHP में Parameterized Functions , Function Call By value And Call By Reference के बारे में पढ़ा , इन functions को जब हम define करते थे तो हमें need के according parameter भी define करते थे , और उस function को Call करते समय हमें उसी के accordingly values भी pass करनी होती  थी।


मतलब हमें ये पता होता था कि कितने variables pass किये जायेंगे उसके according हम function के अंदर logic लिखते थे , अब अगर हमें ये नहीं मालूम हो कि function call करते समय कितने variables pass हो रहे हैं , इस तरह के functions को handle करने के लिए हमें PHP ने facility provide की है Variable Length Argument Functions . जिसकी help से हम pass किये गए सभी arguments / values को easily handle कर सकते हैं। इसके लिए हमें function define करते समय variable से पहले सिर्फ triple dots ( ... ) prepend करने होते हैं।

PHP Variable Length Argument Function Syntax

function function_name(...$var)
{
  echo 'Numbers of variables : '. count($var);
}

PHP Variable Length Argument Function Example

File : function_length.php

CopyFullscreen Close Fullscreen
<?php
  function print_vars(...$vars)
  {
    echo 'Numbers of variables : '. count($vars).'<br>';
    foreach($vars as $var)
    {
      echo $var.' , ';
    }
  }

  print_vars(12, 34, 56);
?>
Output
Numbers of variables : 3
12 , 34 , 56 ,

Explain - जब हम Variable Length Argument Handle करते हैं तो जितने भी variables pass करते हैं function call करते समय हमें उन Variables का Array मिलता है , जिसे count() function के trough total passed variables पता कर सकते हैं , साथ ही Foreach Loop या For Loop का use भी कर सकते हैं।

PHP func_get_args function

अगर हम function define करते समय कोई भी parameter define नहीं करना चाहते और pass किये गए सभी arguments handle भी करना चाहते हैं , तो आप predefine function  func_get_args() का भी use कर सकते हैं। हालाँकि func_get_args() भी हमें pass किये गए सभी arguments का Array ही return करता है।

See Example :

File : function_length2.php

Copy Fullscreen Close Fullscreen
<?php
  function test_fun()
  {
      $arguments = func_get_args();
      echo '<pre>';
      print_r($arguments);
  }
  test_fun(45, 34,56, 67, 78, 34);
?>
Output
Array
(
    [0] => 45
    [1] => 34
    [2] => 56
    [3] => 67
    [4] => 78
    [5] => 34
)

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook