有没有办法缩写以下内容?
if ($chk == 1 || $chk == 3 || $chk == 5 || $chk == 7){
do some stuff
}
感谢。
答案 0 :(得分:10)
if (in_array($chk, array(1, 3, 5, 7))) ...
或者,如果您打算包含if-elseif-cascades,请使用switch语句:
switch($chk)
{
case 1: case 3: case 5: case 7:
do_something();
break;
case 10: case 30: case 50: case 70:
do_something_else();
break;
default:
do_default();
}
答案 1 :(得分:1)
如果您只使用不均匀的数字,则可以检查该值。如果值不均匀,则执行该功能
$unevenNumbers=array(1,2,3,4,5,7);
foreach($unevenNumbers as $nbr){
if( $nbr % 2 !== 0){
//do some stuff
}
}
答案 2 :(得分:1)
如果你看起来很奇怪!
if (!(($chk % 2)==0) // can use if($chk&1) instead
{
//odd acess
}
else
{
//even stuff
}
或强>
if($num&1)
{
//odd stuff
}
else
{
//even stuff
}
或某些逻辑
if($num&1)
{
//odd stuff
if($num>=1 && $num<=7)
{//your special stuff
}
}
else
{
//even stuff
}
答案 3 :(得分:0)
您可以使用三元运算符。
in_array($chk, array(1, 3, 5, 7)) ? /* Do some stuff*/;
答案 4 :(得分:0)
<?php
$arr = array(1, 3, 5, 7);
if (in_array($chk, $arr)) {
// DO SOMETHING
}