PHP 速记加法运算符 - 未定义的偏移量

2023-12-29

我使用 PHP 速记加法运算符来统计多维数组中特定 id 出现的次数:

$source['tally'] = array();

foreach ($items as $item) {
    $source['tally'][$item->getId()] += 1;
}

第一次遇到新 id 时,它将其“tally”值设置为 1,然后每次找到该值时都会递增该值。

该代码工作完美(我得到了正确的总数),但是 PHP 每次找到新的 id 时都会给我一个“未定义的偏移量”通知。

我知道我可以关闭 php.ini 中的通知,但我想 PHP 不认可我的技术肯定是有原因的。

像这样动态创建新的键/偏移量是否被认为是不好的做法,我是否应该采取更好的方法?

请注意:为了帮助澄清以下初步反馈,我确实理解发出该通知的原因。我的问题是我是否应该对此采取行动,或者只是接受这个通知。如果我的问题不够清楚,我深表歉意。


如果您只是想隐藏通知,您可以使用错误控制算子 http://www.php.net/manual/en/language.operators.errorcontrol.php:

$source['tally'] = array();

foreach ($items as $item) {
    @$source['tally'][$item->getId()]++;
}

但是,您通常应该初始化变量,在本例中通过在循环内添加以下代码:

if (!isset( $source['tally'][$item->getId()] ))
{
   $source['tally'][$item->getId()] = 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 速记加法运算符 - 未定义的偏移量 的相关文章

随机推荐

  • Javascript无符号短到有符号短

    我有以下代码 var v 0xFF 0xFF alert v 0 lt lt 8 v 1 并警告 65535 最大空头值 如何将此字节数组视为有符号短整型 并获取该数组的有符号值 假设高位为符号 var sign v 0 1 lt lt 7
  • 如何自定义 JQPlot 周围的黑色边框

    如何在 JQPlot 中自定义图表周围的黑色边框 我广泛搜索了 CSS 文件 但没有找到任何内容 UPDATE 如果您不明白我的意思 请看这张图片 http img339 imageshack us img339 5796 jqplot p
  • 支持多种TLS协议的HttpClient

    我们正在编写一个必须使用 HTTPS 与一些服务器通信的应用程序 它需要与 AWS 使用 AWS 库 以及我们使用 TLS 1 2 的一些内部服务进行通信 我首先将 HttpClient 更改为使用 TLS 1 2 SSLContext p
  • 我对 PHP 会话的理解是否正确?

    我一直对会话内部如何工作很感兴趣 但我对 C 知之甚少 并且不确定在 PHP 源代码中哪里可以找到这一点 这是我目前对会话的理解 当您启动会话时 用户会被分配一个存储在 cookie 中的会话 ID 保存会话数据时 通过 SESSION 它
  • PHP 文件上传类型检查

    好的 这是我上传文件的代码 ext whitelist array pdf doc doc mkv mp4 mpg mpeg avi flv wma ogg if in array ext ext whitelist uniqid file
  • Firebase 托管应用引擎 URL 的 Access-Control-Allow-Origin

    我在 Firebase 托管上托管一个单页应用程序 我需要允许对应用程序引擎的跨域请求 应用程序托管在project id firebaseapp com 上 应用程序引擎服务托管在project id appspot com 上 我把部署
  • 如何用RadWindow替换警报消息框

    My Code
  • 在 Obj-C 中获取 AppleScript 返回值

    我在 Obj C cocoa 项目中使用一些 AppleScript 来控制 QuickTime 播放器 播放 暂停 停止 快进和快退等 取得了巨大成功 尽管我对 AppleScript 的了解非常有限 然而 我最想要的是电影的 当前时间
  • R:在循环内定义函数

    在循环中定义多个函数 par lt 1 2 parameters for functions qF lt list list I will write the functions into for i in 1 2 qF i lt func
  • 使用 CSS 将顶部和底部边框添加到一组选定元素

    所以我有一个搜索结果网格 这些结果是可选择的 当它们被选择时 我添加class selected 给他们 可以有多组结果 通过命令 按住 Ctrl 键单击行来完成 我所说的结果组是指选择的连续元素 我想要做的是 仅向任何给定的选定结果组的第
  • 获取所有登录用户

    我想有自己的聊天 我无法使用聊天模块 因为我必须对其进行个性化 我必须检索所有在线用户 但我看不到任何变量 我只能获取当前登录用户的名称 而无法获取其余登录用户的名称 您可以通过查询会话表来获取所有登录用户的列表 我假设您使用的是 Drup
  • 在 ASP.net Core Web Api 中动态选择身份验证方案

    我正在将使用 OWIN 和 NET Framework 构建的自托管 Web API 移植到 ASP NET Core Web API 使用 NET 6 0 在原始 API 中 我有一个自定义身份验证机制 可以根据请求中的标头动态为每个调用
  • MailChimp API 成员信息问题

    我需要通过 api 检索所有用户信息 在我发现的文档中查找它 http apidocs mailchimp com api 2 0 lists member info php http apidocs mailchimp com api 2
  • 无法安装包车

    我在 Linux mint 17 3 64 位中使用 R 版本 3 2 3 我试图安装包 car dependencies TRUE 但安装失败并出现以下错误消息 gt warnings Warning messages 1 In inst
  • 通过 VBA 使用 SFTP 下载文件

    我的目标是从 SFTP 服务器下载文件 而不是上传文件 并且我正在尝试调整本网站上另一个问题的代码来执行此操作 为了方便起见 我粘贴了下面的代码 我从 Putty 下载了 PSFTP 当我尝试使用以下命令行进行连接时 PSFTP 关闭 op
  • PHP 比较和更改多维数组中的某些元素

    简而言之 我有两个简单的数组 我想验证第二个数组中的某些键是否具有空值 并将它们替换为第一个数组中的对应值 Example a1 1 gt one 2 gt two 3 gt three 5 gt cinco 6 gt six a2 2 g
  • 数据绑定如何工作?

    我现在正在尝试将数据添加到列表框中 如果您查看我的 XAML 这是我构建的列表框
  • 无法访问 Chrome 中另一个框架的内容

    我有两个框架 两个框架中的页面都来自同一域 本地主机或活动域 都使用相同的协议 当第二个框架 xsample 完全加载并且任何 onload JS 函数完成时 第一个框架需要访问第二个框架 xsample 的元素 但第二帧需要一段时间才能加
  • 在 codeigniter 中创建父树及其子树

    我正在 codeigniter 中工作 我想在父代理下显示父代理及其子代理 我的父代理数据显示如下 Array 0 gt stdClass Object id gt 1 Introducer code gt 0 Designation gt
  • PHP 速记加法运算符 - 未定义的偏移量

    我使用 PHP 速记加法运算符来统计多维数组中特定 id 出现的次数 source tally array foreach items as item source tally item gt getId 1 第一次遇到新 id 时 它将其