0

私は非常に不可解な状況にあります。ユーザーが特定のページにアクセスすると、最初にポップアップが表示されます。ユーザーはそれを受け入れるか拒否することができます。ユーザーが拒否すると、5 ページにアクセスした後、ポップアップが再びユーザーに表示されます。この部分は完璧に機能しています。ユーザーが [OK] をクリックすると、ajax 呼び出しが行われ、SESSION変数が に設定されokます。最初に言ってみましょう$_SESSION['count'] = 0。2 つの条件ステートメントがあります。

if($_SESSION['count']%5 === 0)
{ // do something
}
elseif($_SESSION['count'] === "ok")
{ // do something 
}

ユーザーが を押すokと、ajax 呼び出しが更新され$_SESSION['count'] = "ok"ます。ユーザーがページを再度リロードすると、nowif($_SESSION['count']%5 === 0)であっても条件が true になります。後で多くの実験を行った後、私はphpでモジュラスを除算または見つけることができることを知りました. どうすればこれを処理できますか?$_SESSION['count']okstringnumberzero

4

5 に答える 5

6

is_numericカウントか「OK」かを確認するために使用できます

http://php.net/manual/en/function.is-numeric.php

if(is_numeric($_SESSION['count']) && $_SESSION['count']%5 === 0)
{ // do something
}
elseif($_SESSION['count'] === "ok")
{ // do something 
}

一般的には、ベスト プラクティスとしてok別の変数の値に設定します。$_SESSIONコードを見ていたらcount、文字列値を持つと呼ばれるものを見るのは非常に奇妙だと思います。

于 2013-05-03T13:25:53.420 に答える
1

PHP では、が整数である(int) "some string" == 0かどうかを確認してから (たとえば、 を使用して)、モジュラスを実行します。$_SESSION['count']is_numeric()

于 2013-05-03T13:26:30.950 に答える