php - 数组和 "undefined index"之和

标签 php

我想在我的数组中求和:

<?php
if(isset($values[$key])) {
    $values[$key] += $total;
} else {
    $values[$key] = $total;
}

如果我只写“+=”,我会得到错误“Undefined index”。 你知道更简单的方法吗?因为在长代码上太长了。谢谢

最佳答案

你可以把它缩短一点

<?php
if(!isset($values[$key]))
  $values[$key]= 0;
$values[$key] += $total;

但是您编写代码的方式已经非常简洁,更重要的是,非常干净。

edit: 错误首先发生是因为写的时候 $values[$key] += $total;,在内部它与 $values[$key] = $values[$key] + $total 相同 - 并且当$value[$key]没有首先初始化时,是无法读取的。

PHP 通常假设它是 0 然后抛出“key not defined”-note 来通知程序员他忘记初始化数组的元素。

关于php - 数组和 "undefined index"之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35288615/

相关文章:

php - Stripe 使多个客户具有相同的电子邮件地址

php - 使用 javascript/php 将 html 表单转换为 pdf 和电子邮件

php - 使用 PHP 从一个 SQL 数据库获取数据并将其插入到另一个数据库中

php - Laravel - 使用 carbon 格式化来自 Mysql 数据库的日期

php - 如何在php中将一些字符转换为数字?

PHP:SSL HTTP 身份验证?

php - 在 laravel View 中使用 carbon 函数(Blade 模板)

php - HTML CSS PHP 移动 div

php - 更改读取文件文本输出的颜色

javascript - PHP @move_uploaded_file 使用 Resumable.js 返回 false