2013-05-07 74 views
3

我有一個值作爲數字。例如,502. 我想編寫一個php if語句,如果該值小於或大於某個數字,或者在一個範圍內,將顯示一些文本。如果值大於/小於xyz

E.g. 號碼是502,文本會說: 「介於500-600」 數爲56,文本會說: 「介於0-60」 等

到目前爲止,我有這樣的:

<?php $count=0;?> 
<?php $board = getUserBoard($userDetails['userId']);?> 
<?php if(is_array($board)):?> 
<?php $boardCount = count($board);?> 
<?php foreach($board as $key=>$value):?> 
<?php 
$boardPin = getEachBoardPins($value->id); 
$count = $count + count($boardPin); 
?> 
<?php endforeach?> 
<?php endif?> 

這給了我一個號碼:

<?php echo $count;?> 

我試圖寫...

<?php if(($count)): => 500 ?> 
Over 500 
<?php endif ?> 

但我不斷遇到錯誤。

我想創建一個列表,如果可能的話,用elseif語句表示不同的數字範圍。

E.g.

0-50,51-250,251-500等

任何人都可以幫助我嗎?

謝謝。

+2

爲什麼要將每個語句放在不同的PHP塊中?他們在檔案裏的不同位置? – Pietu1998 2013-05-07 14:31:27

+0

你知道你不需要在<?中包含每個php命令。分開標記,對嗎?文件的開始/結束是好的 – user151496 2013-05-07 14:34:17

+0

@Pietu,這是寫腳本的方式。它從腳本中其他位置定義的預設變量中調用。這是一個Pinterest克隆。 在dognose,我試過谷歌,但我不知道要使用什麼關鍵字,這就是爲什麼我在這裏問我在哪裏可以概述我正在尋找什麼。 – 2013-05-07 14:34:40

回答

6

在PHP if conditions的sanest,最簡潔和最廣泛使用的語法是:

if($value >=500 && $value <=600) 
{ 
    echo "value is between 500 and 600"; 
} 
+0

謝謝, 這對我有用。 我不知道爲什麼每行都包含在php標籤中,這是他們編寫腳本的人決定去做的方式。我個人認爲它是不必要的,但是它通過腳本存在於每個文件中,所以我也養成了習慣,並且也是這樣寫的。 – 2013-05-07 14:41:18

+0

你只需要打開和關閉php標籤,如果你打算在它們之間有一些非php行。閱讀關於腳本基本用法的更多信息,慢慢地,你會更好地理解它。另一種方法是檢查一些開源項目源代碼,以查看格式和使用最佳實踐 – raidenace 2013-05-07 14:45:55

1

我寫了這樣的事情在幾年前(可能是一個更好的方式來做到這一點):

function create_range($p_num, $p_group = 1000) { 
    $i = 0; 

    while($p_num >= $i) { 
     $i += $p_group; 
    } 

    $i -= $p_group; 

    return $i . '-' . ($i + $p_group - 1); 
} 

print 'The number is between ' . create_range(502, 100) . '.'; 

它會說500-599,但您可以根據自己的需要進行調整。

+0

如果值處於一個範圍內,那麼這與「if」語句測試有什麼關係? – 2013-05-07 14:35:34

+0

不知道你在問什麼。那傢伙說他想要一些東西,如果「數字是502,文字會說:'在500-600之間」。這或多或少地這樣做。 – Langdon 2013-05-07 14:38:32

+0

所以我只是這樣做:'if(create_range(499,100))',如果499不在500和600之間,那麼它的計算結果爲false? – 2013-05-07 14:43:21

1

我不知道你需要什麼,但這裏是我明白你問:

function getRange($n, $limit = array(50, 250, 500)) { // Will create the ranges 0-50, 51-250, 251-500 and 500-infinity 
    $previousLimit = 0; 
    foreach ($limits as $limit) { 
    if ($n < $limit) { 
     return 'Between ' . ($previousLimit + 1) . ' and ' . $limit; //Return whatever you need. 
    } 
    $previousLimit = $limit; 
    } 
    return 'Greater than ' . $previousLimit; // Return whatever you need. 
} 

echo getRange(56); // Prints "Between 51 and 250" 
echo getRange(501); // Prints "Greater than 500" 
echo getRange(12, array(5, 10, 15, 20)); // Prints "Between 11 and 15" 
1
function getRange($number){ 
    $length=strlen($number); 
    $length--; 
    $r1=round($number,-$length); 
    if ($r1>$number){ 
     $r2=$r1-pow(10,$length); 
    return ''.$number.' value is between '.$r2.'-'.$r1; 
    } 
    else { 
    $r2=$r1+pow(10,$length); 
     return ''.$number.' value is between '.$r1.'-'.$r2; 
    } 
} 

試試這個。

1
if ($count >= 0 && $count < 100) { 
    echo 'between 0 et 99'; 
} elseif ($count < 199) { 
    echo 'between 100 and 199'; 
} elseif { ... 

}elseif ($count < 599) { 
    echo 'between 500 and 599'; 
} else { 
    echo 'greater or equal than 600'; 
}