echo empty($location);
switch($location){
    case (empty($location)):
expression 1;
    break;
    case ($location%10000==0):
expression 2;
    break;
    case ($location%100==0):
expression 3;
    break;
    default:
    expression 4;
    break;

}

当我回声空($位置),它打印出1,为什么是表达式1不执行?

有帮助吗?

解决方案

您没有使用switch语句正常。他们的工作方式是针对初始switch值每种情况值进行比较。

在你的情况,让我们假装$location = null;

echo empty($location);    // true: null is considered empty.

switch ($location) {
    case empty($location) :    // this performs the check:
                               // $location == empty($location)
                               //      null == true ==> false

所以这就是为什么它不跑..

我建议坚持在这种情况下if .. else

scroll top