簡體   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