PHP 匿名函数:未定义的变量

2023-11-29

我有这两个 WordPress 功能:

$wpb_set_post_views = function($postID) {
    $count_key = 'wpb_post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
};

add_action( 'wp_head', function ($post_id) {
    if ( !is_single() ) return;
    if ( empty ( $post_id) ) {
        global $post;
        $post_id = $post->ID;
    }
    $wpb_set_post_views($post_id);
});

但页面返回Notice: Undefined variable: wpb_set_post_views对于最后一行。


在 PHP 中处理闭包时,您需要确保任何超出范围的变量都放入闭包范围内。这与 JavaScript 不同,JavaScript 中的闭包可以访问 PHP 作用域中声明的变量。

您的匿名函数应如下所示

function() use ($variableNeeded) { }

然后您将可以访问该变量。

重要的是要记住,这是一个按值传递的场景,因此对该变量的任何更改都不会反映在闭包之外,因此您需要按引用传递来进行更改。

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

PHP 匿名函数:未定义的变量 的相关文章

  • 合并 csv 文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 PHP 或 joomla 中将多个 CSV 文件合并为一个 csv 文件 将文件夹中 csv 文件中的所有数据合并到文本文件中 通
  • 一些基本的 PHP 问题 [已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我只是有一些基本的 php 问题来加深我对学习的理解 但我找不到简单的答案 我有一个 php ajax 应用程序 它生成 mysql
  • PHP 和 DOM 文档

    我有一个关于 DOMDocument 的使用和创建 XML 的问题 我有一个 PHP 程序 加载到 XML 文件中 处理XML的每个节点 行 将其发送到另一个进程 然后该进程返回一个 XML 元素 我获取节点的字符串表示形式 以便可以创建
  • 如何使用 PHP 从内容中查找 URL?

    需要一个简单的 preg match 它将在内容中查找 c aspx 不带引号 如果找到 它将返回整个 url 举个例子 content div 4 a href m c aspx mt 01 9310ba801f1255e02e411d8
  • 当用户再次访问同一页面时保持登录状态?

    目前我正在使用会话来登录用户 但是当我关闭浏览器并再次打开它时 我必须再次登录 你如何让用户在 2 周内保持登录状态 那么是通过cookie吗 那么您想要 在这台计算机上记住我 选项吗 这是一种与语言无关的方法 创建一个至少包含以下内容的数
  • 由于重复捕获组而不是捕获重复组,正则表达式不匹配

    我有以下正则表达式 A G A G 具有以下表达式 A BsCb 我期望 3 个匹配结果 A Bs Cb 但测试在https regex101 com https regex101 com 只给我最后一场比赛Cb 并告诉我重复捕获组只会捕获
  • 未找到“MongoId”类(带有 MongoDB Doctrine 的 Zend 框架)

    我目前正在尝试将 MongoDB 与 ZendFramework 中的 Doctrine 集成 我做了很多教程 在 StackOverflow 或其他地方 但没有任何效果 我一步步按照教程进行操作 http www bigwisu com
  • 匹配括号内任何字符的正则表达式

    尝试创建一个与括号内的任何字符匹配的正则表达式 我的正则表达式模式是这样的 preg match listanswer answer 括号内的所有字符串都是匹配模式 但问题是 当我尝试匹配例如 this word sample data 它
  • Symfony 学说错误“DoctrineMigrationsBundle 需要启用 DoctrineBundle。”

    我创建了一个新的 Symfony 项目 并且不断收到此消息 DoctrineMigrationsBundle 需要启用 DoctrineBundle 错误并且无法摆脱它 显然我是这个星球上唯一一个收到此错误的人 因为谷歌并没有太大帮助 在
  • 正则表达式替换混合数字+字符串

    我想删除所有包含数字的单词 示例 LW23 London W98 String 从上面的字符串中我唯一想保留的是 London String 这可以用正则表达式来完成吗 我目前正在使用 Python 但 PHP 代码也很好 Thanks E
  • 从单个 javascript 函数向两个不同的 PHP 脚本发送两个 Ajax 请求

    是否可以同时向两个或多个 Php 脚本发送 Ajax 请求 我知道这可以串行实现 从 1 获取响应 然后从另一个获取响应 但我想知道是否可以同时实现 请协助我使用以下代码 function calShowUpload if http rea
  • PHP,文本从数据库中回显,没有换行,全部一体

    我的数据库中有一个长文本 从 php mayadmin 来看它看起来很好 但是当我将它回显到页面时 它会丢失所有格式 即没有新行 全部都在一个块中 有任何想法吗 Thanks 可能是因为换行符是 n 并且 html 想要 br 所以使用nl
  • 计算轮班工作时间并检测

    我有个问题 我的英语很差 我需要用PHP做一个加班计算 已经有一个代码可以实现这一点 但当工作时间超过2天时 计算就会出错 工作开始 2018 09 09 13 43 工作结束 2018 09 11 07 13 结果 07 18 04 00
  • 如何让Symfony2直接加载CSS、JS文件而不是通过PHP?

    老问题 请参阅下面的更新版本 我的开发环境不是最快的 每个 PHP 请求大约需要 500 毫秒 它开始成为 Symfony2 资源文件的问题 因为每个资源文件都是通过 Symfony 的内部控制器请求的 http localhost myp
  • 打印表数据mysql php

    我在尝试打印表格的一些数据时遇到问题 我是 php mysql 的新手 但我认为我的代码是正确的 这里是 h1 Lista de usu rios h1
  • 如果文件名减去扩展名,.htaccess url 重写行为将被覆盖。与网址相同

    我正在尝试整理 URL 并从中删除 php 扩展名等 我位于网站的基本文件夹中 因此没有可以优先处理的父 htaccess 文件或其他文件 这是我的 htaccess 代码 RewriteEngine On RewriteRule give
  • Apache 2.4.9 在启用 ssl 模块并设置 ssl 证书后失败

    Apache 在尝试设置 ssl 证书后抛出以下错误 ssl emerg pid 30907 AH02572 Failed to configure at least one certificate and key for localhos
  • 使用 PHP 创建图表并导出为 PDF

    我正在寻找有关使用 PHP 创建图表的建议 我还希望能够将这些图表导出到 PDF 文档 我目前正在使用谷歌图表 但我不喜欢将我的所有信息发送到谷歌的想法 我更喜欢自己的托管解决方案 我见过很多 Flash 解决方案 但我不知道有什么方法可以
  • 准备好的语句需要 0 个参数,给定 1 个参数..,使用 php 手册示例 [重复]

    这个问题在这里已经有答案了 我直接从 php 手册示例中获取了这个 它几乎与我需要的相同 但我仍然收到此错误 有人可以告诉我我错过了什么吗 stmt link gt prepare SELECT obitBody Photo FROM tn
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam

随机推荐

  • Winforms:有没有办法在我的应用程序中打开表单时收到通知?

    我的主窗体上有一个 切换到窗口 按钮 我希望仅当其他窗口 在我的应用程序中 打开时才启用该按钮 每当打开或关闭表单时 是否会引发某种我的主表单可以挂钩的事件 例如 也许某种方式可以跟踪 Application OpenForms 何时发生更
  • Linux - 将命令的 STDOUT 发送到 RSS Feed

    我希望使用个人 RSS 源进行系统报告 所以我想知道是否可以创建一个脚本将其 1 发送到 RSS 源 alaself test command gt rss report sh 我目前也没有设置 RSS 提要 那么设置从 Linux 机器运
  • PermGen 实际上代表什么?

    我知道 PermGen 是什么 它的用途是什么 为什么会失败 如何增加它等等 我不知道 PermGen 到底代表什么 永久 Gen 什么东西 有谁知道 PermGen 到底代表什么 永久一代 细节当然是特定于实现的 简而言之 它包含与类和内
  • 为什么我的 Python 代码会出现“未定义”错误?

    如果变量 key 返回到解密函数中 为什么它无法被识别 错误显示 NameError 全局名称 key 未定义 以下是代码 alphabet abcdefghijklmnopqrstuvwxyz alphaList list alphabe
  • 使用规则插入辅助表自动增量序列

    要自动在第二个表中添加列以通过唯一索引将其绑定到第一个表 我有如下规则 CREATE OR REPLACE RULE auto insert AS ON INSERT TO user DO ALSO INSERT INTO lastlogi
  • 如何在 R Shiny 中实现清理例程?

    例如 我的闪亮应用程序可能会打开数据库连接 server R db lt dbConnect SQLite DB PATH shinyServer things involving db 现在 如何确保连接db已正确关闭 通过dbDisco
  • 使用 python 渲染 Latex 文本

    我正在尝试用 python 渲染 Latex 文本 这就是我试图做的 import matplotlib pyplot as plt txte r The emph characteristic polynomial chi lambda
  • 使用 Android Q 拒绝 AndroidAudioConverter 权限

    Android Q 引入了一些有关文件夹 文件权限的重大更改 在 Android 上使用转换器时出现以下错误 java io IOException 无法运行程序 data user 0 com ltcfastpay timecard de
  • 使用请求的响应时间极长

    描述 我有一个运行 Python 应用程序的 AWS ec2 实例 ubuntu 16 其中我调用了一些 Facebook Account Kit API 和 Google Play Store API 它们都工作得很好 直到我两周前重新启
  • 如何从表格单元格(td)中获取相应的表格标题(th)?

    给定下表 我如何获取每个 td 元素对应的表头 table thead tr th Name th th Address th tr thead tbody tr td Bob td td 1 High Street td tr tbody
  • Golang 中的类型转换

    我正在阅读以下文章 https www ribice ba golang enums 代码示例之一中定义了一个函数 func lt LeaveType UnmarshalJSON b byte error Define a secondar
  • 用于文本选择控件的自定义浮动工具栏

    我想自定义选择文本时出现的浮动工具栏 这是标准浮动工具栏的示例 你知道我如何定制它 比如添加粗体 斜体 吗 有外部图书馆吗 Monospace 应用程序正是我想要的 您将向清单中的活动添加一个意图过滤器
  • Flask Postgresql 数组不会永久更新

    我正在开发一个使用 Flask 和 PostgreSQL 数据库以及 SQLAlchemy 的项目 I have Group具有以下列表的对象User属于该组成员的 ID 由于某种原因 当我尝试将 ID 添加到组时 它无法正确保存 如果我尝
  • 谷歌折线图 X 轴上有双标签

    我正在研究谷歌折线图 我想在 x 轴上加双标签 日期明智的过程 我可以使用下面的代码绘制没有日期的图表 但无法填充日期 div style width 100 height 1 div
  • 错误:getaddrinfo ENOTFOUNDregistry.npmjs.orgregistry.npmjs.org:443

    我正在公司网络上工作 正在尝试安装npm 但我一次又一次地收到此错误 npm install npm ERR Windows NT 6 1 7601 npm ERR argv C Program Files nodejs node exe
  • 在 Swift 中声明自引用指针[重复]

    这个问题在这里已经有答案了 这段 Obj C 代码在 swift 中的等价物是什么 我猜测 CMutableVoidPointer 的一些事情 static void CapturingStillImageContext Capturing
  • Nhibernate 通过用户定义的函数输出进行过滤

    我对 NHibernate 相当陌生 到目前为止一切都进展顺利 但我遇到了一个问题 我不太确定如何解决 基本上我需要按用户定义函数的输出进行过滤 如果我用 SQL 编写 我会这样写 declare Latitude decimal decl
  • Coldfusion 8 同时执行 CFIf 和 CFElse 语句

    我正在为电子商务网站制作用户注册应用程序 但我遇到了一个非常奇怪的问题 当我运行这段代码时
  • C++ 中的临时对象确实是 const 吗?

    我一直认为C 中的临时对象会被编译器自动视为const 但最近我经历了以下代码示例 function returning object some non const method 对 C 编译器有效 这让我想知道 C 中的临时对象确实是 c
  • PHP 匿名函数:未定义的变量

    我有这两个 WordPress 功能 wpb set post views function postID count key wpb post views count count get post meta postID count ke