Maison > Questions et réponses > le corps du texte
P粉0293277112023-09-05 12:26:32
Bien que vous ayez demandé une version plus courte, je pense parfois que plus clair est préférable. La plupart des autres réponses incluent des tableaux ou des triples supplémentaires, qui sont tout à fait corrects et valides à 100 %, mais je ne pense pas que l'intention du code soit aussi évidente. Pour moi, je garderais if
并仅使用 ++
和 --
pour les incréments et les décréments. Je pense que les "règles métier" sont assez évidentes et le code se lit clairement.
Encore une fois, pas exactement ce que vous avez demandé, juste mes deux cents.
if ('up' === $vote) { $voteModel['up']++; $voteModel['down']--; } else { $voteModel['up']--; $voteModel['down']++; }
P粉1667793632023-09-05 00:11:58
Solution 1 :
$arg = $vote === 'up' ? [1,-1] : [-1,1]; $voteModel['up'] += $arg[0]; $voteModel['down'] += $arg[1];
Solution 2 :
$voteModel['up'] += ($vote === 'up' ? 1 : -1); $voteModel['down'] += ($vote !== 'up' ? 1 : -1);
Solution 3 (si "up" en $voteModel
est l'index 1 et "down" est l'index 0) :
$voteModel[$vote==='up']++; $voteModel[$vote==='down']--;
Solution 3b (si on souhaite conserver les clés associées) :
$arr = ['down','up']; $voteModel[$arr[$vote==='up']]++; $voteModel[$arr[$vote==='down']]--;