проблема числа php - PullRequest
       1

проблема числа php

0 голосов
/ 25 января 2011
$num = 9;
   switch ($num){
    case $num > 0 && $num < 5:
        echo 5;
    break;
    case $num > 5 && $num < 10:
        echo 10;
    break;
    case $num > 10 && $num < 15:
        echo 15;
    break;
     ....
}
result: 10

глупый код.

У вас есть хорошая идея для этого? Спасибо.

Ответы [ 4 ]

6 голосов
/ 25 января 2011
$result = ceil($num/5)*5;

Это то, что вы ищете?

5 голосов
/ 25 января 2011

Вы можете преобразовать его в ASCII art:

  _                                    ___    
  | |                         ______   / _ \ _ 
 / __)_ __  _   _ _ __ ___   |______| | (_) (_)
 \__ \ '_ \| | | | '_ ` _ \   ______   \__, |  
 (   / | | | |_| | | | | | | |______|    / / _ 
  |_||_| |_|\__,_|_| |_| |_|            /_/ ( )
                                            |/ 


                  _ _        _        ___                      __    __
                 (_) |      | |      / / |                     \ \  / /
     _____      ___| |_  ___| |__   | / __)_ __  _   _ _ __ ___ | || | 
    / __\ \ /\ / / | __|/ __| '_ \  | \__ \ '_ \| | | | '_ ` _ \| / /  
    \__ \\ V  V /| | |_| (__| | | | | (   / | | | |_| | | | | | | \ \  
    |___/ \_/\_/ |_|\__|\___|_| |_| | ||_||_| |_|\__,_|_| |_| |_| || | 
                                     \_\                       /_/  \_\


                             _                         __      ___                     _                            __  _____   
                            | |                        \ \    / _ \    ___    ___     | |                          / / | ____|_ 
       ___  __ _ ___  ___  / __)_ __  _   _ _ __ ___    \ \  | | | |  ( _ )  ( _ )   / __)_ __  _   _ _ __ ___    / /  | |__ (_)
      / __|/ _` / __|/ _ \ \__ \ '_ \| | | | '_ ` _ \    > > | | | |  / _ \/\/ _ \/\ \__ \ '_ \| | | | '_ ` _ \  < <   |___ \   
     | (__| (_| \__ \  __/ (   / | | | |_| | | | | | |  / /  | |_| | | (_>  < (_>  < (   / | | | |_| | | | | | |  \ \   ___) |_ 
      \___|\__,_|___/\___|  |_||_| |_|\__,_|_| |_| |_| /_/    \___/   \___/\/\___/\/  |_||_| |_|\__,_|_| |_| |_|   \_\ |____/(_)



                    _             _____   
                   | |           | ____|_ 
           ___  ___| |__   ___   | |__ (_)
          / _ \/ __| '_ \ / _ \  |___ \   
         |  __/ (__| | | | (_) |  ___) |_ 
          \___|\___|_| |_|\___/  |____/( )
                                       |/ 


      _                    _       
     | |                  | |    _ 
     | |__  _ __ ___  __ _| | __(_)
     | '_ \| '__/ _ \/ _` | |/ /   
     | |_) | | |  __/ (_| |   <  _ 
     |_.__/|_|  \___|\__,_|_|\_\( )
                                |/ 


                             _                         __     _____                    _                            __  __  ___    
                            | |                        \ \   | ____|   ___    ___     | |                          / / /_ |/ _ \ _ 
       ___  __ _ ___  ___  / __)_ __  _   _ _ __ ___    \ \  | |__    ( _ )  ( _ )   / __)_ __  _   _ _ __ ___    / /   | | | | (_)
      / __|/ _` / __|/ _ \ \__ \ '_ \| | | | '_ ` _ \    > > |___ \   / _ \/\/ _ \/\ \__ \ '_ \| | | | '_ ` _ \  < <    | | | | |  
     | (__| (_| \__ \  __/ (   / | | | |_| | | | | | |  / /   ___) | | (_>  < (_>  < (   / | | | |_| | | | | | |  \ \   | | |_| |_ 
      \___|\__,_|___/\___|  |_||_| |_|\__,_|_| |_| |_| /_/   |____/   \___/\/\___/\/  |_||_| |_|\__,_|_| |_| |_|   \_\  |_|\___/(_)



                    _             __  ___    
                   | |           /_ |/ _ \ _ 
           ___  ___| |__   ___    | | | | (_)
          / _ \/ __| '_ \ / _ \   | | | | |  
         |  __/ (__| | | | (_) |  | | |_| |_ 
          \___|\___|_| |_|\___/   |_|\___/( )
                                          |/ 


      _                    _       
     | |                  | |    _ 
     | |__  _ __ ___  __ _| | __(_)
     | '_ \| '__/ _ \/ _` | |/ /   
     | |_) | | |  __/ (_| |   <  _ 
     |_.__/|_|  \___|\__,_|_|\_\( )
                                |/ 


                             _                         __     __  ___                     _                            __  __ _____   
                            | |                        \ \   /_ |/ _ \    ___    ___     | |                          / / /_ | ____|_ 
       ___  __ _ ___  ___  / __)_ __  _   _ _ __ ___    \ \   | | | | |  ( _ )  ( _ )   / __)_ __  _   _ _ __ ___    / /   | | |__ (_)
      / __|/ _` / __|/ _ \ \__ \ '_ \| | | | '_ ` _ \    > >  | | | | |  / _ \/\/ _ \/\ \__ \ '_ \| | | | '_ ` _ \  < <    | |___ \   
     | (__| (_| \__ \  __/ (   / | | | |_| | | | | | |  / /   | | |_| | | (_>  < (_>  < (   / | | | |_| | | | | | |  \ \   | |___) |_ 
      \___|\__,_|___/\___|  |_||_| |_|\__,_|_| |_| |_| /_/    |_|\___/   \___/\/\___/\/  |_||_| |_|\__,_|_| |_| |_|   \_\  |_|____/(_)



                    _             __ _____   
                   | |           /_ | ____|_ 
           ___  ___| |__   ___    | | |__ (_)
          / _ \/ __| '_ \ / _ \   | |___ \   
         |  __/ (__| | | | (_) |  | |___) |_ 
          \___|\___|_| |_|\___/   |_|____/( )
                                          |/ 


      _                    _       
     | |                  | |    _ 
     | |__  _ __ ___  __ _| | __(_)
     | '_ \| '__/ _ \/ _` | |/ /   
     | |_) | | |  __/ (_| |   <  _ 
     |_.__/|_|  \___|\__,_|_|\_\( )
                                |/ 






       _ _ _ _ 
      (_|_|_|_)



 __   
 \ \  
  | | 
   \ \
   / /
  | | 
 /_/  


                     _ _       __  ___  
                    | | |  _  /_ |/ _ \ 
  _ __ ___ ___ _   _| | |_(_)  | | | | |
 | '__/ _ | __| | | | | __|    | | | | |
 | | |  __|__ \ |_| | | |_ _   | | |_| |
 |_|  \___|___/\__,_|_|\__(_)  |_|\___/ 
1 голос
/ 25 января 2011

switch не работает для этого сценария, он оценивается только один раз

$num = 9;
$div = ceil($num/5);

switch ($div)
{
  case 1:
    echo 5;
    break;
  case 2:
    echo 10;
    break;
  case 3:
    echo 15;
    break;
  ...
}
1 голос
/ 25 января 2011

Это не то, как switch работает, это создаст сравнения, такие как 9 == (9 > 0 && 9 < 5), а это не то, что вы хотите. Самый простой способ, вероятно, таков:

if ($num < 5) {
    ...
} else if ($num < 10) {
    ...
} ...

(«Самый простой способ», как «самый простой способ выразить логику подобным образом.» Самый простой способ для этой конкретной операции - это применение базовой математики.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...