首页 > 解决方案 > 如何比较 swtich 语句中的宽度和高度?

问题描述

我有$width$height,它们是随机的,代表视频的宽度和高度。

如果视频尺寸大于或等于 1080p,它将创建 720p、480p 版本的视频,依此类推。

如果尺寸大于或等于 720p,它将创建 480p、360p 等。

而这继续……

我正在使用以下 if 语句来执行此操作:

if($width >= 1920 && $height >= 1080)
{
    // create 720p...
}

if($width >= 1280 && $height >= 720)
{
    // create 480p...
}

但我认为如果我不使用 switch 语句会更好,break因为如果一个案例为真,它将执行下面的所有其他案例而不检查。

这是正确的方法吗?我如何将其应用于 switch 语句?

标签: php

解决方案


Switch块仅用于变量值比较。在其他情况下没有意义,尤其是在您有 2 个 int 变量要比较的情况下。If块将做适当的工作。

您可以使用 switch 完成这项工作(见下文),但在常规if条件下更漂亮。

switch (true) {
    case ($width >= 1920 && $height >= 1080): //create 720p
        break;
    case ($width >= 1280 && $height >= 720): //create 480p
        break;
    //...
}

推荐阅读