繁体   English   中英

使用数字时的IF ELSE条件

[英]IF ELSE condition when working with numbers

我的大脑有一个我无法解决的问题,即创建if-else条件:960x540是我们为其获取值``1''的值,所有值均小于此值(例如800x480)再次获得值“ 1”,类似情况为540x960(480x800等,以降序排列,数字较小),如果960x540的值从一侧增加(例如1000x540或960x600),则在其中输入“ 2”一个变量而不是“ 1” ...我希望我已经清楚地描述了这个问题。 建议我将960x540和一个整体值相乘,以使其更容易使用。 但是问题在于我使用的是手机的屏幕分辨率,但由于我们忘记了分辨率较低的台式机(例如800x600像素,其累计数量远少于手机的分辨率),因此不适合使用该分辨率。屏幕分辨率为540x960。抱歉英语不好。

我将尽力解释您的要求。 (由于不确定我是否正确,我没有编辑您的问题)

  • 960x540 => 1

较小的值=> 1

  • 800x480

更大的值(每个维度)=> 2

  • 1000x540
  • 960x600

您必须同时查看x和y分辨率并确定结果。 不要尝试检查特定的分辨率,因为这将导致非常复杂的情况。

  • 提取x和y(宽度和高度)。
  • 分别测试它们。

您的if语句应如下所示:

if ($x > 960 || $y > 540)
    $result = 2;
else
    $result = 1;

您可能对此数学感兴趣:

通过传递视频的宽度,您可以获得高度的比例(4:3):

$height = round(floor($width/1.330),-1); 您可以将(16:9)的1.330更改为1.770

循环并添加160的示例:

$i=160;
while($i<=1024){
    $height = round(floor($i/1.330),-1);
    $ratios[]=array('width'=>$i,'height'=>$height);
    $i=($i+160);
}
print_r($ratios);

/*
Array
(
    [0] => Array
        (
            [width] => 160
            [height] => 120
        )

    [1] => Array
        (
            [width] => 320
            [height] => 240
        )

    [2] => Array
        (
            [width] => 480
            [height] => 360
        )

    [3] => Array
        (
            [width] => 640
            [height] => 480
        )

    [4] => Array
        (
            [width] => 800
            [height] => 600
        )

    [5] => Array
        (
            [width] => 960
            [height] => 720
        )

)
*/

希望它引起一些兴趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM