Недавно я столкнулся со следующей конструкцией в заброшенном проекте с кодом PHP:
while(($my_var = mt_rand(3, 6))%2 != 0);
(обратите внимание на пустое тело l oop). Это гарантирует, что $ my_var будет присвоен номер 4 или номер 6.
Есть ли (измеримое, объективное) преимущество в использовании вышеупомянутой конструкции по сравнению с чем-то вроде
$my_var = mt_rand(2, 3) * 2;
(Мне особенно интересно, почему автор решил включить 3 в диапазон рандомизации, если результат должен быть даже в любом случае.)