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