Операторы условного переключения в PHP - PullRequest
12 голосов
/ 18 октября 2011

Я довольно привык к синтаксису Select Case vb.net, который по сути является оператором switch, где вы можете делать такие вещи, как Case Is > 5, и если он совпадает, он выполнит этот случай.

Как я могу сделать то, что я собираюсь назвать «операторы условного переключения», так как я не знаю фактического имени в PHP?

Или как быстро справиться с этим?

switch($test)
{
    case < 0.1:
        // do stuff
        break;
}

Это то, что я пробовал в настоящее время.

Ответы [ 3 ]

26 голосов
/ 18 октября 2011

Я думаю, что вы ищете что-то подобное (это не совсем то, что вы хотите, или, по крайней мере, я понимаю, что вам нужно).

switch (true) находит случаи, которые оценивают как истинноеи выполнить код до первого перерыва;это встречает.

<?php

switch (true) {

case ($totaltime <= 1):
echo "That was fast!";
break;

case ($totaltime <= 5):
echo "Not fast!";
break;

case ($totaltime <= 10):
echo "That's slooooow";
break;
}

?>
0 голосов
/ 18 октября 2011

Я попытался добавить это в качестве комментария к ответу BoltCock, но SO говорит мне, что его ответ заблокирован, поэтому я сделаю это отдельным (и по существу избыточным) ответом:

Ответ "switch (true)" от BoltCock очень похож на в следующем примере , который, хотя логически эквивалентен if + else, если + else, возможно, более красив, потому что условные выражения выровнены по вертикали, и это стандартная / принятая практика в PHP.

Но синтаксис if + else if + else по сути универсален для всех языков сценариев и поэтому сразу же доступен для чтения (и сопровождения) любому, что также дает ему мое согласие.

0 голосов
/ 18 октября 2011

PHP поддерживает операторы switch .Это то, что вы хотели?

...