0

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

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

4 回答 4

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

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

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

于 2013-09-18T20:38:48.867 回答
1

关于什么

    array_key_exists("money", $account_array) ? $account_array["money"] += $increase : $account_array["money"] = $increase;
于 2013-09-18T20:38:51.720 回答
0

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

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

现场观看!

于 2013-09-18T20:39:43.067 回答
0

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

array_key_exists('money', $account_array) 
    ? $account_array["money"] += $increase 
    : $account_array["money"] = $increase;
于 2013-09-18T20:40:46.963 回答