Как повторить слово дважды и другое слово один раз внутри цикла

Привет, ребята, я пытался повторить это с помощью PHP

четный нечетный нечетный четный нечетный нечетный

и так далее .
Мой код:

For( $i = 0 ; $i <=11; $i++    ){

If( $i % 2 == 0 ) {
echo " even " ;
}
If( $i % 2 != 0 ) {
echo " odd " ;
$i = $i+1 ;
}
}

И уверен, что результат:

четный странный странный странный

и так далее .

Я хотел повторить (четный) один раз и (нечетный) дважды и так далее ..
Может ли кто-нибудь помочь мне в этом? Спасибо

1

Решение

Ты можешь использовать% оператор.

Где любой счетчик, который точно делится на 3 четный, другой случай odd,

Ответ:

for ($i=0 ; $i<=11 ; ++$i) {
if ($i%3==0) {
echo "Even";
}
else {
echo "Odd";
}
}

Ручной запуск:

$i - $i%3 - Output
--------------------
0 - 0 - Even
1 - 1 - Odd
2 - 2 - Odd
3 - 0 - Even
4 - 1 - Odd
5 - 2 - Odd
6 - 0 - Even
7 - 1 - Odd
8 - 2 - Odd
9 - 0 - Even
10 - 1 - Odd
11 - 2 - Odd

РЕДАКТИРОВАТЬ: Используя троичный оператор, вы даже можете сократить количество строк кода.

Сокращенный код:

for ($i=0 ; $i<=11 ; ++$i) {
echo ($i%3==0) ? 'Even' : 'Odd';
}
2

Другие решения

В этом случае вы можете просто использовать modulo 3 вместо 2 с ifelse заявление

for ($i = 0; $i < 11; $i++) {
if ($i % 3 == 0) {
echo 'even ';
} else {
echo 'odd ';
}
}
0

Я не уверен, что вам нужно желаемое поведение использования% 3, как это предлагают другие (даже если он дает вам желаемый результат), но я не уверен, что вы получите тот же «счет». Поэтому я просто скажу, почему бы вам просто не написать «нечетно» в своем эхо-заявлении дважды?

for( $i = 0 ; $i <=11; $i++    ){

if( $i % 2 == 0 ) {
echo " even " ;
}else {
echo " odd odd ";
}

}

Если бы вы могли помочь нам понять, почему вы хотите дважды напечатать нечетные числа на нечетных числах, которые могли бы помочь? Или это не имеет значения, если i является четным или нечетным сам по себе, но является только результатом, к которому вы стремитесь (как предложено с использованием% 3).

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector