簡體   English   中英

需要幫助來從一系列數字創建PHP回顯腳本

[英]Need help to create a PHP echo script from a range of numbers

我需要一個簡單的腳本,該腳本從POST讀取一個數字(我們將其稱為“數字”值)。 這是一個三位數的數字,必須在以下范圍內:

301-340

401-440

501-540

601-640

701-740

801-840

如果它不在這些范圍內,我需要回顯一條消息。 一個人怎么做?

if($number <= 300 || $number > 840 || (($number-1) % 100) >= 40) {
    echo "Number was not in ranges!";
}

這利用了% (取模)運算符的優勢,該運算符在除以數字時會返回余數-因此,由於您想要的是余數模100為1-40的數字,因此它可以減去1,取100為模,然后查看是否為40+(因為1-40現在為0-39)。

只要您的范圍遵循該設置模式,此方法就非常簡潔。 如果您需要對各個范圍進行更多的自定義,請使用switch語句(有關此示例,請參見“太多的php”中答案 )。

$n = (int)$_POST['number'];
switch(true) {
case $n >= 301 && $n <= 340:
case $n >= 401 && $n <= 440:
case $n >= 501 && $n <= 540:
// ETC
    // number is OK, break out of switch
    break;
default:
    echo "Number '$n' is invalid!<br />";
    exit;
}

這個有點不同。 希望陣列構建不會增加太多開銷。

// Possible answers
$validInputs = array_merge(range(301, 340), range(401, 440), range(501, 540)); // and so forth...

$input = (int) $_POST['input'];

if ( ! in_array($input, $validInputs)) {
    echo 'Got an error!';
}

相關文檔: range()array_merge()in_array()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM