PHP配列内の2つの文字列を切り替える
P粉710478990
2023-09-04 19:06:47
<p><code>$arr = ['up', 'down'];</code> という 2 つの値を持つ配列があります。誰かが賛成票を投じた場合 (<code>$vote = 'up';</code>)、データベース内の up フィールドは 1 ずつ増加し、down フィールドは 1 ずつ減少する必要があります。 </p>
<p>if else 条件を使用できます: </p>
<pre class="brush:php;toolbar:false;">if ($vote === 'up') {
$voteModel['up'] = $voteModel['up'] 1;
$voteModel['down'] = $voteModel['down'] - 1;
} それ以外 {
$voteModel['up'] = $voteModel['up'] - 1;
$voteModel['down'] = $voteModel['down'] 1;
}
</pre>
<p>でも、この時間を短縮できないかなぁ。 <code>arr = ['up' => 'down'];</code> について考えていましたが、残念ながら今はどこにも到達できません。何かアイデアはありますか?ありがとう! </p>
あなたはもっと短くするよう要求しましたが、場合によっては、より明確な方が良いと思うことがあります。他の回答のほとんどには追加の配列またはトリプルが含まれており、それらは完全に問題なく、100%有効ですが、コードの意図がそれほど明白ではないと思います。私の場合は、
と
if
をそのまま使用し、増減には--
を使用します。 「ビジネス ルール」は非常に明白で、コードもきれいに読めると思います。繰り返しますが、あなたが要求したものとまったく同じではありません。私の 2 セントだけです。
リーリー解決策 1:
リーリー解決策 2:
リーリー解決策 3 (
リーリー$voteModel
の「up」がインデックス 1 で、「down」がインデックス 0 の場合):解決策 3b (関連するキーを保持したい場合):
リーリー