<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.funchand.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'en',
  ),
  'this' => 
  array (
    0 => 'function.func-num-args.php',
    1 => 'func_num_args',
    2 => 'Returns the number of arguments passed to the function',
  ),
  'up' => 
  array (
    0 => 'ref.funchand.php',
    1 => 'Function handling Functions',
  ),
  'prev' => 
  array (
    0 => 'function.func-get-args.php',
    1 => 'func_get_args',
  ),
  'next' => 
  array (
    0 => 'function.function-exists.php',
    1 => 'function_exists',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/funchand/functions/func-num-args.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.func-num-args" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">func_num_args</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">func_num_args</span> &mdash; <span class="dc-title">Returns the number of arguments passed to the function</span></p>

 </div>
 
 <div class="refsect1 description" id="refsect1-function.func-num-args-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>func_num_args</strong></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

  <p class="para rdfs-comment">
   Gets the number of arguments passed to the function.
  </p>
  <p class="para">
   This function may be used in conjunction with 
   <span class="function"><a href="function.func-get-arg.php" class="function">func_get_arg()</a></span> and <span class="function"><a href="function.func-get-args.php" class="function">func_get_args()</a></span>
   to allow user-defined functions to accept variable-length argument lists.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.func-num-args-parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">This function has no parameters.</p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.func-num-args-returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   Returns the number of arguments passed into the current user-defined
   function.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.func-num-args-errors">
  <h3 class="title">Errors/Exceptions</h3>
  <p class="para">
   Generates a warning if called from outside of a user-defined function.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.func-num-args-examples">
  <h3 class="title">Examples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Example #1 <span class="function"><strong>func_num_args()</strong></span> example</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">()<br />{<br />    echo </span><span style="color: #DD0000">"Number of arguments: "</span><span style="color: #007700">, </span><span style="color: #0000BB">func_num_args</span><span style="color: #007700">(), </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">);   <br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>The above example will output:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Number of arguments: 3</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.func-num-args-notes">
  <h3 class="title">Notes</h3>
  <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para">As of PHP 8.0.0, the func_*() family of
functions is intended to be mostly transparent with regard to named arguments,
by treating the arguments as if they were all passed positionally,
and missing arguments are replaced with their defaults.
This function ignores the collection of unknown named variadic arguments.
Unknown named arguments which are collected can only be accessed through the variadic parameter.</p></p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.func-num-args-seealso">
  <h3 class="title">See Also</h3>
  <p class="para">
   <ul class="simplelist">
    <li><a href="functions.arguments.php#functions.variable-arg-list" class="link"><code class="literal">...</code> syntax</a></li>
    <li><span class="function"><a href="function.func-get-arg.php" class="function" rel="rdfs-seeAlso">func_get_arg()</a> - Return an item from the argument list</span></li>
    <li><span class="function"><a href="function.func-get-args.php" class="function" rel="rdfs-seeAlso">func_get_args()</a> - Returns an array comprising a function's argument list</span></li>
    <li><span class="methodname"><a href="reflectionfunctionabstract.getnumberofparameters.php" class="methodname" rel="rdfs-seeAlso">ReflectionFunctionAbstract::getNumberOfParameters()</a> - Gets number of parameters</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>