/php/function.func-get-arg.html
HTML | 218 lines | 180 code | 38 blank | 0 comment | 0 complexity | be0bb261d99da95dfaee6102183e5660 MD5 | raw file
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>Return an item from the argument list</title>
- </head>
- <body><div class="manualnavbar" style="text-align: center;">
- <div class="prev" style="text-align: left; float: left;"><a href="function.forward-static-call.html">forward_static_call</a></div>
- <div class="next" style="text-align: right; float: right;"><a href="function.func-get-args.html">func_get_args</a></div>
- <div class="up"><a href="ref.funchand.html">Function handling 函数</a></div>
- <div class="home"><a href="index.html">PHP Manual</a></div>
- </div><hr /><div id="function.func-get-arg" class="refentry">
- <div class="refnamediv">
- <h1 class="refname">func_get_arg</h1>
- <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">func_get_arg</span> — <span class="dc-title">Return an item from the argument list</span></p>
- </div>
-
- <div class="refsect1 description" id="refsect1-function.func-get-arg-description">
- <h3 class="title">说明</h3>
- <div class="methodsynopsis dc-description">
- <span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <span class="methodname"><strong>func_get_arg</strong></span>
- ( <span class="methodparam"><span class="type">int</span> <code class="parameter">$arg_num</code></span>
- )</div>
- <p class="para rdfs-comment">
- Gets the specified argument from a user-defined function's argument list.
- </p>
- <p class="para">
- This function may be used in conjunction with
- <span class="function"><a href="function.func-get-args.html" class="function">func_get_args()</a></span> and <span class="function"><a href="function.func-num-args.html" class="function">func_num_args()</a></span>
- to allow user-defined functions to accept variable-length argument lists.
- </p>
- </div>
- <div class="refsect1 parameters" id="refsect1-function.func-get-arg-parameters">
- <h3 class="title">参数</h3>
- <p class="para">
- <dl>
- <dt>
- <span class="term"><em><code class="parameter">arg_num</code></em></span>
- <dd>
- <p class="para">
- The argument offset. Function arguments are counted starting from
- zero.
- </p>
- </dd>
- </dt>
- </dl>
- </p>
- </div>
- <div class="refsect1 returnvalues" id="refsect1-function.func-get-arg-returnvalues">
- <h3 class="title">返回值</h3>
- <p class="para">
- Returns the specified argument, or <strong><code>FALSE</code></strong> on error.
- </p>
- </div>
- <div class="refsect1 changelog" id="refsect1-function.func-get-arg-changelog">
- <h3 class="title">更新日志</h3>
- <p class="para">
- <table class="doctable informaltable">
-
- <thead>
- <tr>
- <th>版本</th>
- <th>说明</th>
- </tr>
- </thead>
- <tbody class="tbody">
- <tr>
- <td>5.3.0</td>
- <td>
- This function can now be used in parameter lists.
- </td>
- </tr>
- <tr>
- <td>5.3.0</td>
- <td>
- If this function is called from the outermost scope of a file
- which has been included by calling <span class="function"><a href="function.include.html" class="function">include</a></span>
- or <span class="function"><a href="function.require.html" class="function">require</a></span> from within a function in the
- calling file, it now generates a warning and returns <strong><code>FALSE</code></strong>.
- </td>
- </tr>
- </tbody>
-
- </table>
- </p>
- </div>
- <div class="refsect1 errors" id="refsect1-function.func-get-arg-errors">
- <h3 class="title">错误/异常</h3>
- <p class="para">
- Generates a warning if called from outside of a user-defined function, or
- if <em><code class="parameter">arg_num</code></em> is greater than the number of arguments
- actually passed.
- </p>
- </div>
- <div class="refsect1 examples" id="refsect1-function.func-get-arg-examples">
- <h3 class="title">范例</h3>
- <p class="para">
- <div class="example" id="example-4866">
- <p><strong>Example #1 <span class="function"><strong>func_get_arg()</strong></span> example</strong></p>
- <div class="example-contents">
- <div class="phpcode"><code><span style="color: #000000">
- <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">()<br />{<br /> </span><span style="color: #0000BB">$numargs </span><span style="color: #007700">= </span><span style="color: #0000BB">func_num_args</span><span style="color: #007700">();<br /> echo </span><span style="color: #DD0000">"Number of arguments: </span><span style="color: #0000BB">$numargs</span><span style="color: #DD0000"><br />\n"</span><span style="color: #007700">;<br /> if (</span><span style="color: #0000BB">$numargs </span><span style="color: #007700">>= </span><span style="color: #0000BB">2</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"Second argument is: " </span><span style="color: #007700">. </span><span style="color: #0000BB">func_get_arg</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">) . </span><span style="color: #DD0000">"<br />\n"</span><span style="color: #007700">;<br /> }<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">?></span>
- </span>
- </code></div>
- </div>
- </div>
- </p>
- <p class="para">
- <div class="example" id="example-4867">
- <p><strong>Example #2 <span class="function"><strong>func_get_arg()</strong></span> example before and
- after PHP 5.3</strong></p>
- <div class="example-contents">
- <div class="phpcode"><code><span style="color: #000000">
- test.php<br /><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">() {<br /> include </span><span style="color: #DD0000">'./fga.inc'</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #DD0000">'First arg'</span><span style="color: #007700">, </span><span style="color: #DD0000">'Second arg'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?><br /></span><br />fga.php<br /><span style="color: #0000BB"><?php<br /><br />$arg </span><span style="color: #007700">= </span><span style="color: #0000BB">func_get_arg</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">$arg</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span>
- </span>
- </code></div>
- </div>
- <div class="example-contents"><p>
- Output previous to PHP 5.3:
- </p></div>
- <div class="example-contents screen">
- <div class="cdata"><pre>
- 'Second arg'
- </pre></div>
- </div>
- <div class="example-contents"><p>
- Output in PHP 5.3 and later:
- </p></div>
- <div class="example-contents screen">
- <div class="cdata"><pre>
- Warning: func_get_arg(): Called from the global scope - no function
- context in /home/torben/Desktop/code/ml/fga.inc on line 3
- false
- </pre></div>
- </div>
- </div>
- </p>
- <p class="para">
- <div class="example" id="example-4868">
- <p><strong>Example #3 <span class="function"><strong>func_get_arg()</strong></span> example of byref and byval arguments</strong></p>
- <div class="example-contents">
- <div class="phpcode"><code><span style="color: #000000">
- <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">byVal</span><span style="color: #007700">(</span><span style="color: #0000BB">$arg</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">'As passed : '</span><span style="color: #007700">, </span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">func_get_arg</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">)), </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$arg </span><span style="color: #007700">= </span><span style="color: #DD0000">'baz'</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">'After change : '</span><span style="color: #007700">, </span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">func_get_arg</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">)), </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />}<br /><br />function </span><span style="color: #0000BB">byRef</span><span style="color: #007700">(&</span><span style="color: #0000BB">$arg</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">'As passed : '</span><span style="color: #007700">, </span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">func_get_arg</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">)), </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$arg </span><span style="color: #007700">= </span><span style="color: #DD0000">'baz'</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">'After change : '</span><span style="color: #007700">, </span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">func_get_arg</span><span style="color: #007700">(</span><span style="color: #0000BB">0</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">$arg </span><span style="color: #007700">= </span><span style="color: #DD0000">'bar'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">byVal</span><span style="color: #007700">(</span><span style="color: #0000BB">$arg</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">byRef</span><span style="color: #007700">(</span><span style="color: #0000BB">$arg</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
- </span>
- </code></div>
- </div>
- <div class="example-contents"><p>以上例程会输出:</p></div>
- <div class="example-contents screen"><br />
- As passed : 'bar'<br />
- After change : 'bar'<br />
- As passed : 'bar'<br />
- After change : 'baz'<br />
- </div>
- </div>
- </p>
- </div>
- <div class="refsect1 notes" id="refsect1-function.func-get-arg-notes">
- <h3 class="title">注释</h3>
- <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para">因为函数依赖于当前作用域以确定参数的细节,所以在
- 5.3.0 以前的版本中不能用作函数的参数。如必须传递此值时,可将结果赋与一个变量,然后用此变量进行传递。</p></p></blockquote>
- <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para">如果参数以引用方式传递,函数对该参数的任何改变将在函数返回后保留。</p></p></blockquote>
- <blockquote class="note"><p><strong class="note">Note</strong>:
- <span class="simpara">
- This function returns a copy of the passed arguments only, and does not
- account for default (non-passed) arguments.
- </span>
- </p></blockquote>
- </div>
- <div class="refsect1 seealso" id="refsect1-function.func-get-arg-seealso">
- <h3 class="title">参见</h3>
- <p class="para">
- <ul class="simplelist">
- <li class="member"> <span class="function"><a href="function.func-get-args.html" class="function" rel="rdfs-seeAlso">func_get_args()</a> - Returns an array comprising a function's argument list</span></li>
- <li class="member"> <span class="function"><a href="function.func-num-args.html" class="function" rel="rdfs-seeAlso">func_num_args()</a> - Returns the number of arguments passed to the function</span></li>
- </ul>
- </p>
- </div>
- </div><hr /><div class="manualnavbar" style="text-align: center;">
- <div class="prev" style="text-align: left; float: left;"><a href="function.forward-static-call.html">forward_static_call</a></div>
- <div class="next" style="text-align: right; float: right;"><a href="function.func-get-args.html">func_get_args</a></div>
- <div class="up"><a href="ref.funchand.html">Function handling 函数</a></div>
- <div class="home"><a href="index.html">PHP Manual</a></div>
- </div></body></html>