Php without break;

What happened to my switch? Now the result:

< more
> less
= equality
!= no't equality 

As it should be:

< more
= equality

<?php
$page = 99;

    switch ($page)
    {
        case $page < 121:
            echo '< more <br/>';
        case $page > 123:
            echo '> less <br/>';
        case $page == 99:
            echo '= equality <br/>';
        case $page != 99:
            echo '!= no\'t equality <br/>';
    }   
    ?>
+3
source share
6 answers

switch .
$page < 121 true, 99==true, true http://docs.php.net/language.types.type-juggling (switch , ===). case.
break, , ... < > : , , , break .

+12

, , . , , if, ..

        if ($page < 121)
            echo '< more <br/>';
        if ($page > 123)
            echo '> less <br/>';
        if ($page == 99)
            echo '= equality <br/>';
        if ($page != 99)
            echo '!= no\'t equality <br/>';
+8

, .

switch ($variable)
{
   case "me":
       echo "variable is me";
      break;

   case "you":
       echo "variable is you";
       break;
   default:
      echo "Variable is neither of us";

}

, :

if ($variable=="me")
{
   echo "variable is me";
}
elseif ($variable=="you")
{
   echo "variable is you";
}
else
{
  echo "variable is neither of us";
}

case.

switch ($somethng)
{
     case $something < 10:
      break;
     case $something > 20:

     break;
}

. ! if... elseif..else.

. .

+5
$var = "cat";

switch($var)
{
  case "cat":
     echo 'My '.$var.' is called Bob.';
    break;
  case "dog":
     echo 'My '.$var.' is called James.';
    break;
  default:
     echo "I don't have an animal";
    break;
}

statemant switch $var . , , . < > ! =... , , : 1, '1', '', $var2 ..

, :

$var = "cat";

switch($var)
{
  case "cat":
  case "dog":
     echo 'My '.$var.' is called James.';
    break;
  default:
     echo "I don't have an animal";
    break;
}

break; , "" . : .

, , if.

+1

, < > raw html. > <.

script , .

<?php
ob_start();
$page = 99;

switch ($page)
{
    case $page < 121:
        echo '< more <br/>';
    case $page > 123:
        echo '> less <br/>';
    case $page == 99:
        echo '= equality <br/>';
    case $page != 99:
        echo '!= no\'t equality <br/>';
}

$buffer = ob_get_clean();

echo str_replace('<br/>', "\n", $buffer);

< more 
> less 
= equality 
!= no't equality

, -, .

, switch . (, ). , . , switch PHP . PHP , .

http://de.php.net/manual/de/control-structures.switch.php

0
"; break; case $ page> 123: echo '> less
'; break; case $ page == 99: echo' = equality
'; break; case $ page! = 99: echo'! = no \ 't equality
' ; break; default: echo 'Default';}?>
-1
source

Source: https://habr.com/ru/post/1761062/


All Articles