首页 > 解决方案 > 在 php/mysql 的 switch case 中来自 mysql 的变量条件?

问题描述

我的问题是我必须实现可变条件,这意味着用户能够在一段时间内定义一个值。这些数据将存储在 mysql 中。PHP用于服务器端。

IE

FROM 2018-01-01 TO 2018-01-03 VALUE 10; 
FROM 2018-01-04 TO 2018-01-06 VALUE 20; 
DEFAULT (used if not in time gap) VALUE 100;

因此,我认为可以选择开关盒。但是是否可以对案例进行 foreach 循环?

喜欢:

$date = "2018-01-01";

switch ($date) {
    foreach(... as $data){
    case $data:
        //load variable
        break;
    }
    default:
        //load default values
}

也许我走错路了-请帮忙。

标签: phpmysql

解决方案


不,你的语法是错误的。在我能想到的所有编程语言中,都不允许重叠块。一个 switch 块可以包含在一个循环中,或者它的一个或多个 case 块可以包含它们自己的循环。(switch是一种特殊情况,在它的case语句之外可能没有代码。)

您(在某种意义上)试图在其中的 if 语句块内终止 for 循环块。


推荐阅读