php - 如何访问 "parent"函数的参数?

标签 php functional-programming callback global-variables

例如我有以下代码:

function a($param)
{
  function b()
  {
    echo $param;
  }
  b();
}
a("Hello World!");

这会引发 E_NOTICE 错误,因为 $param 当然是未定义的(在 b() 中)。

我不能将 $param 传递给 b() 因为 b() 应该是 preg_replace_callback() 的回调函数。 所以我有了将 $param 保存在 $GLOBALS 中的想法。

有没有更好的解决方案?

最佳答案

如果您使用的是 PHP 5.3,您可以使用 anonymous function使用 use 关键字代替:

<?php
function a($param)
{
  $b = function() use ($param)
  {
    echo $param;
  };

  $b();
}
a("Hello World!");

关于php - 如何访问 "parent"函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718205/

相关文章:

php - 从可变产品的 WooCommerce 变体中获取权重值

PHP 数字到西类牙语单词!

javascript - jQuery 动画回调不起作用

haskell - 在 Haskell 中简化一个丑陋的函数

javascript - 如何将异步回调中的字符串添加到一起?

javascript - 在JS数组中存储单个大索引是错误的吗?

php - 在输入框中显示整个字符串的问题(在 php 中)

php - 通过 XMLRPC 调用方法 - Odoo v9

Scala:查找并更新列表中的一个元素

scala - Scala 中的括号匹配 --- 函数式方法