Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
517 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 Reply

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)){ ... }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...