Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
551 views
in Technique[技术] by (71.8m points)

php - Short hand to do something like: if($variable == 1 || $variable == "whatever" || $variable == '492') .

I find my self doing this type of IF statement allot. For example:

if($variable == 1 || $variable == "whatever" || $variable == '492') { ... }  

Except for allot of the time, I am comparing the $variable to maybe 4-5 things, sometimes more. Is there a short hand way to write this? You can see that repeating $variable == would get redundant.

I would love for this to work, but it doesn't:

if($variable == (1 || "whatever" || 492) { ... }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use this shorthand, but keep in mind that it is less efficient that explicitly listing them all with or clauses:

if(in_array($variable, array(1, 'whatever', '492'))){ ... }

Also if you want to use === instead of == the equivalent is:

if(in_array($variable, array(1, 'whatever', '492'), TRUE)){ ... }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...