Php 在数组中递增或创建数值

Php 在数组中递增或创建数值,php,Php,我想为数组中的键创建或增加一个值。例如,如果我有一个键“money”,我可以在数组中用一个设置的值来增加它,或者在它还不存在的情况下创建它。目前我正在做这件事,这似乎是一个很长的路要走 if(array_key_exists("money", $account_array)) { $account_array["money"] = $account_array["money"] + $increase; } else { $account_array["money"] = $in

我想为数组中的键创建或增加一个值。例如,如果我有一个键“money”,我可以在数组中用一个设置的值来增加它,或者在它还不存在的情况下创建它。目前我正在做这件事,这似乎是一个很长的路要走

if(array_key_exists("money", $account_array)) {
    $account_array["money"] = $account_array["money"] + $increase;
}
else {
    $account_array["money"] = $increase;
}
  • 如果可以确保数组包含非空值或根本不包含键,请使用
    isset()

  • 使用
    a+=b
    ,这相当于
    a=a+b

  • 如果可以确保数组包含非空值或根本不包含键,请使用
    isset()

  • 使用
    a+=b
    ,这相当于
    a=a+b

那怎么办

    array_key_exists("money", $account_array) ? $account_array["money"] += $increase : $account_array["money"] = $increase;
那怎么办

    array_key_exists("money", $account_array) ? $account_array["money"] += $increase : $account_array["money"] = $increase;

您可以创建一个三元语句并将其压缩为一行,但这会影响可读性:

$account_array["money"] = (array_key_exists("money", $account_array)) ? 
$account_array["money"] + $increase : $increase;

您可以将三元语句压缩为一行,但这会影响可读性:

$account_array["money"] = (array_key_exists("money", $account_array)) ? 
$account_array["money"] + $increase : $increase;

您可以稍微缩短synatx,但基本上您的方法是正确的

array_key_exists('money', $account_array) 
    ? $account_array["money"] += $increase 
    : $account_array["money"] = $increase;

您可以稍微缩短synatx,但基本上您的方法是正确的

array_key_exists('money', $account_array) 
    ? $account_array["money"] += $increase 
    : $account_array["money"] = $increase;

isset除了比array_key_更短之外还有什么优势吗?@justinhj他们有很大的不同!array_key_exists()检查是否存在一个值不能为null的键。在“isset[”附近的答案中有一个小错误,它应该是圆括号,像“isset(”。isset比array_key_exists有什么优势吗?除了它更短之外?@justinhj他们有一个很大的区别!array_key_exists()检查是否存在值不能为null的键。在“isset[”附近的答案中有一个小错误,它应该是圆括号,如“isset(”。