PHP中简化变量存在自增否则设为1的写法(仅声明一次变量)
PHP8 简化变量初始化与自增的写法
你原来的三元写法可以用PHP的空合并运算符简化,只需要一次变量声明/赋值操作,以下是几种可行方案:
一行完成的简洁写法:
$setinc = ($setinc ?? 0) + 1;逻辑:
$setinc ?? 0会判断变量是否已定义且不为null,未定义时取0,之后加1赋值给$setinc。第一次执行时变量会被设为1,后续每次执行自动自增1,完全替代原来的三元逻辑。拆分两行的清晰写法:
$setinc ??= 0; $setinc++;先通过
??=确保$setinc初始化为0(仅当变量未定义时生效),再执行自增,逻辑更直观,适合需要分步看的场景。
你之前设想的isset($setinc) ? += 1 : == 1;属于语法错误,因为三元运算符的左右分支必须是完整的赋值或表达式,不能单独写运算符。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

