使用数字时的IF ELSE条件

时间:2012-04-28 11:56:37

标签: php if-statement resolution screen-resolution

我的大脑无法解决问题,即创建if-else条件: 960x540是我们获得值“1”的值,所有小于此值的值(例如800x480)再次获得值“1”,类似情况540x960(480x800等,按降序排列,数字较小) ,如果960x540的数值从一侧增加(例如1000x540或960x600),则在变量中给出“2”而不是“1”......我希望我已经清楚地描述了这个问题。 我被建议乘以例如960x540,并且总体价值,使其更容易使用它。但问题在于我使用手机的屏幕分辨率并且不适合我们忘记低分辨率的桌面,例如800x600像素,这是累计数量远低于屏幕分辨率为540x960 ...对不起英文不好。

2 个答案:

答案 0 :(得分:1)

我会尝试更清楚地解释您的请求。 (我没有编辑你的问题,因为我不确定我是否一切正确)

  • 960x540 => 1

较小的值=> 1

  • 800×480

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

  • 1000x540
  • 960x600

您必须同时查看x和y分辨率并确定结果。 不要试图检查特定的分辨率,因为这会得到一个非常复杂的条件。

  • 提取x和y(宽度和高度)。
  • 单独测试。

您的if语句应如下所示:

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

答案 1 :(得分:0)

您可能对这段数学感兴趣:

通过传递视频的宽度,您可以获得高度比(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
        )

)
*/

希望它有一些兴趣。