我想为数组中的键创建或增加一个值。因此,例如,如果我有一个键“钱”,我可以在数组中将其增加一个设定值,或者如果它还不存在则创建它。目前我正在这样做,这似乎还有很长的路要走。
if(array_key_exists("money", $account_array)) {
$account_array["money"] = $account_array["money"] + $increase;
}
else {
$account_array["money"] = $increase;
}
答案 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;
答案 3 :(得分:0)
你可以稍微缩短语法,但基本上你的方法是正确的
array_key_exists('money', $account_array)
? $account_array["money"] += $increase
: $account_array["money"] = $increase;