PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/php/reflectionfunction.invokeargs.html

https://bitbucket.org/thncr/manuals
HTML | 140 lines | 115 code | 25 blank | 0 comment | 0 complexity | 5308d93b43d42583999fd90166ddf49f MD5 | raw file
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>Invokes function args</title>
  6. </head>
  7. <body><div class="manualnavbar" style="text-align: center;">
  8. <div class="prev" style="text-align: left; float: left;"><a href="reflectionfunction.invoke.html">ReflectionFunction::invoke</a></div>
  9. <div class="next" style="text-align: right; float: right;"><a href="reflectionfunction.isdisabled.html">ReflectionFunction::isDisabled</a></div>
  10. <div class="up"><a href="class.reflectionfunction.html">ReflectionFunction</a></div>
  11. <div class="home"><a href="index.html">PHP Manual</a></div>
  12. </div><hr /><div id="reflectionfunction.invokeargs" class="refentry">
  13. <div class="refnamediv">
  14. <h1 class="refname">ReflectionFunction::invokeArgs</h1>
  15. <p class="verinfo">(PHP 5 &gt;= 5.1.0)</p><p class="refpurpose"><span class="refname">ReflectionFunction::invokeArgs</span> &mdash; <span class="dc-title">Invokes function args</span></p>
  16. </div>
  17. <div class="refsect1 description" id="refsect1-reflectionfunction.invokeargs-description">
  18. <h3 class="title">说明</h3>
  19. <div class="methodsynopsis dc-description">
  20. <span class="modifier">public</span> <span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <span class="methodname"><strong>ReflectionFunction::invokeArgs</strong></span>
  21. ( <span class="methodparam"><span class="type">array</span> <code class="parameter">$args</code></span>
  22. )</div>
  23. <p class="para rdfs-comment">
  24. Invokes the function and pass its arguments as array.
  25. </p>
  26. </div>
  27. <div class="refsect1 parameters" id="refsect1-reflectionfunction.invokeargs-parameters">
  28. <h3 class="title">参数</h3>
  29. <p class="para">
  30. <dl>
  31. <dt>
  32. <span class="term"><em><code class="parameter">args</code></em></span>
  33. <dd>
  34. <p class="para">
  35. The passed arguments to the function as an array, much like
  36. <span class="function"><a href="function.call-user-func-array.html" class="function">call_user_func_array()</a></span> works.
  37. </p>
  38. </dd>
  39. </dt>
  40. </dl>
  41. </p>
  42. </div>
  43. <div class="refsect1 returnvalues" id="refsect1-reflectionfunction.invokeargs-returnvalues">
  44. <h3 class="title">返回值</h3>
  45. <p class="para">
  46. Returns the result of the invoked function
  47. </p>
  48. </div>
  49. <div class="refsect1 examples" id="refsect1-reflectionfunction.invokeargs-examples">
  50. <h3 class="title">范例</h3>
  51. <p class="para">
  52. <div class="example" id="example-4983">
  53. <p><strong>Example #1 <span class="methodname"><strong>ReflectionFunction::invokeArgs()</strong></span> example</strong></p>
  54. <div class="example-contents">
  55. <div class="phpcode"><code><span style="color: #000000">
  56. <span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">title</span><span style="color: #007700">(</span><span style="color: #0000BB">$title</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$name</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s.&nbsp;%s\r\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$title</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$name</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">$function&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">ReflectionFunction</span><span style="color: #007700">(</span><span style="color: #DD0000">'title'</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #0000BB">$function</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">invokeArgs</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'Dr'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'Phil'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span>
  57. </span>
  58. </code></div>
  59. </div>
  60. <div class="example-contents"><p>以上例程会输出</p></div>
  61. <div class="example-contents screen">
  62. <div class="cdata"><pre>
  63. Dr. Phil
  64. </pre></div>
  65. </div>
  66. </div>
  67. </p>
  68. <p class="para">
  69. <div class="example" id="example-4984">
  70. <p><strong>Example #2 <span class="methodname"><strong>ReflectionFunction::invokeArgs()</strong></span> with references example</strong></p>
  71. <div class="example-contents">
  72. <div class="phpcode"><code><span style="color: #000000">
  73. <span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">get_false_conditions</span><span style="color: #007700">(array&nbsp;</span><span style="color: #0000BB">$conditions</span><span style="color: #007700">,&nbsp;array&nbsp;&amp;</span><span style="color: #0000BB">$false_conditions</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$conditions&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$condition</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">$condition</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$false_conditions</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">$condition</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">$function_ref&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">ReflectionFunction</span><span style="color: #007700">(</span><span style="color: #DD0000">'get_false_conditions'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$conditions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">true</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$false_conditions&nbsp;</span><span style="color: #007700">=&nbsp;array();<br /><br /></span><span style="color: #0000BB">$function_ref</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">invokeArgs</span><span style="color: #007700">(array(</span><span style="color: #0000BB">$conditions</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">$false_conditions</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$false_conditions</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
  74. </span>
  75. </code></div>
  76. </div>
  77. <div class="example-contents"><p>以上例程会输出</p></div>
  78. <div class="example-contents screen">
  79. <div class="cdata"><pre>
  80. array(2) {
  81. [0]=&gt;
  82. bool(false)
  83. [1]=&gt;
  84. int(0)
  85. }
  86. </pre></div>
  87. </div>
  88. </div>
  89. </p>
  90. </div>
  91. <div class="refsect1 notes" id="refsect1-reflectionfunction.invokeargs-notes">
  92. <h3 class="title">注释</h3>
  93. <blockquote class="note"><p><strong class="note">Note</strong>:
  94. <p class="para">
  95. 如果函数有参数需为引用, 那么它们必须以引用方式传入.
  96. </p>
  97. </p></blockquote>
  98. </div>
  99. <div class="refsect1 seealso" id="refsect1-reflectionfunction.invokeargs-seealso">
  100. <h3 class="title">参见</h3>
  101. <p class="para">
  102. <ul class="simplelist">
  103. <li class="member"> <span class="methodname"><a href="reflectionfunction.invoke.html" class="methodname" rel="rdfs-seeAlso">ReflectionFunction::invoke()</a> - Invokes function</span></li>
  104. <li class="member"> <span class="methodname"><a href="reflectionfunctionabstract.getnumberofparameters.html" class="methodname" rel="rdfs-seeAlso">ReflectionFunctionAbstract::getNumberOfParameters()</a> - Gets number of parameters</span></li>
  105. <li class="member"><a href="language.oop5.magic.html#object.invoke" class="link">__invoke()</a></li>
  106. <li class="member"> <span class="function"><a href="function.call-user-func-array.html" class="function" rel="rdfs-seeAlso">call_user_func_array()</a> - Call a callback with an array of parameters</span></li>
  107. </ul>
  108. </p>
  109. </div>
  110. </div><hr /><div class="manualnavbar" style="text-align: center;">
  111. <div class="prev" style="text-align: left; float: left;"><a href="reflectionfunction.invoke.html">ReflectionFunction::invoke</a></div>
  112. <div class="next" style="text-align: right; float: right;"><a href="reflectionfunction.isdisabled.html">ReflectionFunction::isDisabled</a></div>
  113. <div class="up"><a href="class.reflectionfunction.html">ReflectionFunction</a></div>
  114. <div class="home"><a href="index.html">PHP Manual</a></div>
  115. </div></body></html>