Rumah > Soal Jawab > teks badan
P粉0293277112023-09-05 12:26:32
Walaupun anda meminta lebih pendek, kadangkala saya rasa lebih jelas adalah lebih baik. Kebanyakan jawapan lain termasuk tatasusunan tambahan atau tiga kali ganda, yang benar-benar baik dan 100% sah, tetapi saya tidak fikir niat kod itu begitu jelas. Bagi saya, saya akan menyimpan if
并仅使用 ++
和 --
untuk kenaikan dan pengurangan. Saya rasa "peraturan perniagaan" cukup jelas dan kod itu dibaca dengan bersih.
Sekali lagi, bukan apa yang anda minta, hanya dua sen saya.
if ('up' === $vote) { $voteModel['up']++; $voteModel['down']--; } else { $voteModel['up']--; $voteModel['down']++; }
P粉1667793632023-09-05 00:11:58
Penyelesaian 1:
$arg = $vote === 'up' ? [1,-1] : [-1,1]; $voteModel['up'] += $arg[0]; $voteModel['down'] += $arg[1];
Penyelesaian 2:
$voteModel['up'] += ($vote === 'up' ? 1 : -1); $voteModel['down'] += ($vote !== 'up' ? 1 : -1);
Penyelesaian 3 (jika "naik" dalam $voteModel
ialah indeks 1 dan "bawah" ialah indeks 0):
$voteModel[$vote==='up']++; $voteModel[$vote==='down']--;
Penyelesaian 3b (jika kita mahu menyimpan kunci yang berkaitan):
$arr = ['down','up']; $voteModel[$arr[$vote==='up']]++; $voteModel[$arr[$vote==='down']]--;