0

奇妙な理由で、私はこれを一生デバッグできません。$ this-> input-> post('post_page')= 10 ....変数をエコーすると、画面に10が出力されます。これは、trueであるはずのときにfalseを返し続けます。それで...誰かがこれを手伝ってくれるでしょうか?各チェックの周りに個別の括弧を付けて、||を変更してみました ORに..まだ何もありません。

それにもかかわらず、私のコードは次のとおりです。

if($this->input->post('post_page') <> 10 
                || $this->input->post('post_page') <> 25 
                || $this->input->post('post_page') <> 50 
                || $this->input->post('post_page') <> 75) {
            return false;
        }
4

4 に答える 4

5

<> は NOT EQUAL と同等です。

10 は 25 と等しくないため、if ステートメントに入り、false を返します。

実際、数に関係なく常にそのifステートメントを入力します

代わりにこれを行うことができます:

if($this->input->post('post_page') <> 10 
                && $this->input->post('post_page') <> 25 
                && $this->input->post('post_page') <> 50 
                && $this->input->post('post_page') <> 75) {
            return false;
        }

擬似コード:

IF 
MY NUMBER IS NOT 10 
AND IT IS NOT 25
AND IT IS NOT 50 
AND IT IS NOT 75
    RETURN FALSE

またはさらに良い:

$allowedNumbers =  array(10,25,50,75);
if(!in_array($this->input->post('post_page'), $allowedNumbers)) {
    return false;
}

新しいアイテムをリストに追加するのもはるかに簡単です。配列に数値を追加しても、false は返されません。

この 1 つの疑似コード:

ALLOWED NUMBERS ARE 10,25,50,75
IF(MYNUMBER IS NOT IN THE LIST OF ALLOWED NUMBERS)
    RETURN FALSE
于 2013-01-24T23:22:24.380 に答える
1

使うべきだと思います

if(!($this->input->post('post_page') == 10 
                || $this->input->post('post_page') == 25 
                || $this->input->post('post_page') == 50 
                || $this->input->post('post_page') == 75)) {
            return false;
}
于 2013-01-24T23:29:38.027 に答える
0

ブール値に変換: false または true または true または true。式は true であるため、false を返します。

于 2013-01-24T23:24:03.463 に答える
0
(                          #
   (A is not B)            #  IS ALWAYS TRUE
   OR (A is not C)         #  --------------------------
   OR (A is not D)         #  Unless 2 conditions (AND):
   OR (A is not E)         #    . A is not B
)                          #    . B = C = D = E

はい、あなたの場合、これは常に FALSE になります。申し訳ありません。

于 2013-01-24T23:29:46.397 に答える