Можно создать дубликат:
php if statement with multiple conditionsPHP: упростить множественные || операторы в одном?
У меня есть этот код:
if(x==1 || x==2 || x==3 || x==4)
есть в любом случае просто короче? Например:
if(x==1||2||3||4)
Значение для утверждения, чтобы быть правдой, если X = 1,2,3 или 4?
Заранее спасибо.
Edit: (Спасибо за все ответы, вот некоторые разъяснения)
У меня есть время цикл, но только хочу конкретные записи базы данных будут называться. Мой код текущий
<?php while(the_repeater_field('team_members','options') && get_sub_field('member_sort') == 1 : ?>
<div class="one_fourth">
<img src="<?php the_sub_field('image'); ?>" alt="" />
<p>
<?php the_sub_field('info'); ?>
<br />
<a href="mailto:<?php the_sub_field('email'); ?>"><?php the_sub_field('email'); ?></a>
</p>
</div>
<?php endwhile; ?>
Сейчас он отлично работает с == 1, но я также хочу показать 2,3,4. Я просто не знаю, как Я должен был поставить код для выполнения 1 || 2 || 3 || 4
Update 2:
Хорошо, так что я использовал следующий код, но я предполагаю, Я делаю это неправильно. Следующий код показал только запись, равную 1 .. но не записи, равные 2,3,4 ... Я думаю, потому что цикл while работает только один раз, так как оператор становится истинным мгновенно.
<?php while(the_repeater_field('team_members','options') && in_array(get_sub_field('member_sort'),array(1,2,3,4))): ?>
<div class="one_fourth">
<img src="<?php the_sub_field('image'); ?>" alt="" />
<p>
<?php the_sub_field('info'); ?>
<br />
<a href="mailto:<?php the_sub_field('email'); ?>"><?php the_sub_field('email'); ?></a>
</p>
</div>
<?php endwhile; ?>
Что случилось с более длинным кодом? Какую проблему ты пытаешься решить? Будет ли ['switch' statement] (http://rosettacode.org/wiki/Conditional_structures#switch_12) работать в вашем случае? – sarnold
@ sarnold Я обновил свой вопрос. @mario, спасибо за ссылки. – Damainman