PHP:在 for () 循环中创建函数

2024-01-29

有谁知道我如何编写一个函数,该函数能够使用变量的内容作为其名称来创建其他函数?

这是我在 php 中讨论的一个基本示例:

function nodefunctioncreator()
  {
    for ($i =1, $i < 10, $i++)
      {
      $newfunctionname = "Node".$i;
      function $newfunctionname()
        {
        //code for each of the functions
        }
      }
  }

有人知道一种语言可以让我做到这一点吗?


您可以使用 PHP 创建匿名函数create_function() http://de.php.net/create_function。您可以将每个匿名函数分配给一个变量$newfunctionname并使用执行它call_user_func() http://de.php.net/call_user_func:

$newfunctionname = "Node".$i;
$$newfunctionname = create_function('$input', 'echo $input;'); 
// Creates variables named Node1, Node2, Node3..... containing the function

我认为这是您可以在 PHP 中获得的最接近的方式,而且看起来不像是完全的 hack。

我认为不可能直接从变量定义函数。对我来说这样做也不好看,因为你会用这些函数污染命名空间。如果匿名函数不起作用,则需要采用面向对象的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP:在 for () 循环中创建函数 的相关文章

  • Yii 未检测到骆驼案例操作

    伊伊正在给我404 Error如果我声明这样的操作 站点控制器 php public function actionRegisterUser 这就是我在main php label gt Register User url gt site
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • 将客户分配到 magento 的多个客户组

    您好 我想将多个组分配给特定客户 例如 Rajat 客户 属于 批发 零售商 电力 实际上我在上面看到了同样的话题每个客户有多个客户组 https stackoverflow com questions 6153011 multiple c
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • 保证复制省略是否适用于函数参数?

    如果我理解正确的话 从 C 17 开始 这段代码现在要求不进行任何复制 Foo myfunc void return Foo auto foo myfunc no copy 函数参数也是如此吗 下面的代码中的副本会被优化掉吗 Foo myf
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • 如何防止 Blazor NavLink 组件的默认导航

    从 Blazor 3 1 Preview 2 开始 应该可以防止默认导航行为 https devblogs microsoft com aspnet asp net core updates in net core 3 1 preview
  • Unity c# 四元数:将 y 轴与 z 轴交换

    我需要旋转一个对象以相对于现实世界进行精确旋转 因此调用Input gyro attitude返回表示设备位置的四元数 另一方面 这迫使我根据这个四元数作为默认旋转来计算每个旋转 将某些对象设置为朝上的简单方法如下 Vector3 up I
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 使用 Xpath 进行部分匹配

    我正在尝试创建一个搜索功能 允许使用 Xpath 按歌曲标题或流派进行部分匹配 这是我的 XML 文件
  • WordPress - 类别和子类别的嵌套列表

    我正在尝试显示带有嵌套子类别的 WordPress 类别列表 到目前为止 我只能获取父类别列表或不包括父类别的子类别列表 但我无法将两者连接在一起 这是我想要创建的结果 Parent Category 子类别 子类别 Parent Cate
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • PHP 中根据相似值对数组进行分组

    我有一个具有以下结构的数组
  • 构建 C# MVC 5 站点时项目之间的处理器架构不匹配

    我收到的错误如下 2017 年 4 月 20 日构建 13 23 38 C Windows Microsoft NET Framework v4 0 30319 Microsoft Common targets 1605 5 警告 MSB3
  • 管理产品页面自定义字段显示在购物车和结账中

    我在产品页面的常规设置选项卡上的 WooCommerce 管理中创建了一个自定义字段 以插入几天的制造时间 我想在购物车和结帐页面上每个产品名称上方显示此自定义字段值 这是我的代码 Insert a Custom Admin Field f
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配

随机推荐

  • 使用 addTextTrack() 动态更改 videojs 字幕

    我正在尝试构建一些类似视频库的东西 您可以通过单击缩略图来选择要显示的视频 现在我正处于为所选视频加载适当字幕的阶段 感谢谷歌 我了解到 videojs 有一个名为 addTextTrack 的方法来帮助我 但不幸的是没有一个好的示例或文档
  • JRuby - Warbler 不保留符号链接

    使用 warbler 打包应用程序时 符号链接会丢失 符号链接指向的实际内容将打包为 WAR 的一部分 就我而言 我有一个从 public images upload 到 var myproject upload 的符号链接 在 tomca
  • 删除网络推送通知

    有没有办法在显示后删除网络推送通知 要将其从设备上的通知列表中删除 或将其标记为 已读 我认为这不能从服务器完成 并且我一直在寻找 Javascript API 但我没有找到任何东西 我试图解决的更广泛的问题是如何在多个屏幕 浏览器 设备上
  • 背后的概念是什么:类型-元素-镜子

    我正在使用 Java 6 的注释处理 即可以在其中找到什么javax annotation processing 不是 Java 5 的 APT 我想知道各种之间的概念差异是什么Element Type and Mirror类群岛由于我不太
  • 使用 python 处理 ember.js 标记的 html

    我有以下场景 我们正在使用web2py http www web2py com在服务器端 我们正在服务一些ember js http emberjs com pages 目前这些 ember js 页面位于 iframe 内 因为ember
  • docker:如何显示两个图像之间的差异

    我有一个 Dockerfile 其中包含一系列执行 apt get install 的 RUN 指令 例如 几行 RUN apt get install y tree RUN apt get install y git 执行 docker
  • Windows Azure 存储(Blob、表、队列)是否针对 Windows Azure 角色的访问进行了优化?

    我目前正在考虑在 Windows Azure 上托管弹性搜索 http www elasticsearch org 执行 加载应用程序并在 Java 下运行它并不那么困难 现在 ElasticSearch仅支持亚马逊的S3 http ela
  • Jetpack Compose 使用 CoroutineScope 滚动 LazyColumn 结果错误 A MonotonicFrameClock 在此 CoroutineContext 中不可用

    退房这个例子 https developer android com codelabs jetpack compose layouts 5使用状态和协程滚动列表 Composable fun ScrollingList val listSi
  • 使用一次更新设置多列

    如何在mysql中使用更新查询设置表的多列 只需添加参数 用逗号分隔 UPDATE tablename SET column1 value1 column2 value2 也可以看看 mySQL 更新手册 http dev mysql co
  • 如何在 VS2010 Express 中使静态库独立于发布/调试?

    我正在编写一个应用程序并链接 SDL 和 OpenGL 在我的代码中 我有以下几行 pragma comment lib sdl lib pragma comment lib sdlmain lib pragma comment lib o
  • 根据方法参数生成唯一的缓存键

    我有一个基本的存储库框架 它最终执行查询并将结果映射回对象 例如 public SomeEntity Get id return base GetItem
  • 如何在 iOS 中正确变形文本?

    我拼命地想改变smallLabel into a bigLabel By morphing 我的意思是转换一个标签的以下属性以匹配另一个标签的相应属性 并具有平滑的动画 字体大小 字体粗细 框架 即边界和位置 所需的效果应该类似于使用大标题
  • 在 2.6 上合并 n 字典并添加值的最快方法[重复]

    这个问题在这里已经有答案了 我有一个字典列表 我想将其组合成一个字典 并添加列表中每个字典中的值 例如 ds 1 1 2 0 3 0 1 2 2 1 3 0 1 3 2 2 3 1 4 5 最终结果应该是一个字典 merged 1 6 2
  • PHP:$_POST 全局变量的总长度是多少?

    我想知道是否有人知道全球邮政的总长度 例如 POST formInput hello world how long can I be 我正在创建一个网站 有人会在其中输入未知数量的字符textarea 因此可能是一个 Word 文档的 2
  • 重定向 ip6tables 中的端口

    如何使用 ip6tables 将一个端口重定向到另一个本地端口 例如像这样的东西 ip6tables t nat A 预路由 j 重定向 p tcp dport 443 to ports 8443 嗯 这是一个老问题 但因为我需要做同样的事
  • Android 模拟 Espresso 测试的 Dagger2 注入依赖项

    我注入了严重的依赖项 dagger2 应用 我想经营一个浓缩咖啡测试无需测试浏览整个应用程序并登录到应用程序 我想开始我的 teleActivity 并模拟登录管理器 然而 在任何 test 函数中 当我们调用 onCreate 时 我们已
  • 如何在 Python 中使用 PCA/SVD 进行特征选择和识别?

    我正在跟进Python 中的主成分分析 https stackoverflow com questions 1730600 principal component analysis in python在Python下使用PCA 但我很难确定
  • 上传文件到android市场时出错

    当我在 Android 市场上传我的应用程序时 它显示以下错误 文件无效 错误 转储失败 因为找不到 AndroidManifest xml 当我解压 apk 文件时 AndroidManifest xml 文件就在那里 有什么问题 在an
  • C#.NET 中的 JPEG 2000 支持

    NET 似乎无法使用 GDI 库打开 JP2 Jpeg 2000 文件 我在谷歌上搜索过 但找不到任何库或示例代码来执行此操作 有人有什么想法吗 我真的不想花钱让图书馆来做这件事 除非我必须 似乎我们可以使用自由图像 http freeim
  • PHP:在 for () 循环中创建函数

    有谁知道我如何编写一个函数 该函数能够使用变量的内容作为其名称来创建其他函数 这是我在 php 中讨论的一个基本示例 function nodefunctioncreator for i 1 i lt 10 i newfunctionnam