在数组中增加或创建数值

时间:2013-09-18 20:35:32

标签: php

我想为数组中的键创建或增加一个值。因此,例如,如果我有一个键“钱”,我可以在数组中将其增加一个设定值,或者如果它还不存在则创建它。目前我正在这样做,这似乎还有很长的路要走。

if(array_key_exists("money", $account_array)) {
    $account_array["money"] = $account_array["money"] + $increase;
}
else {
    $account_array["money"] = $increase;
}

4 个答案:

答案 0 :(得分:2)

if(!isset($account_array['money'])) {
    $account_array['money'] = 0;
}

$account_array["money"] += $increase;
  • 如果您可以确定数组包含非空值或者根本不包含密钥,请使用isset()

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

See it live!

答案 3 :(得分:0)

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

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