1

私はいくつかのコードで立ち往生しています。

それは非常に簡単です、私は次のコードを持っています:

 if ($somevariable == 1) {
   echo 'Do Something here';
} else {
   echo 'Do Something Else';                
} 

$somevariable は 1 を返すか、何も返しません。

最初の条件が true の場合 ...1 の場合は正常に動作しています ...

しかし、何も返されないか空の場合、else条件は「何か他のことをする」を返しません。

ELSE は他の条件を意味するべきではありませんか?

どうすればこの問題を解決できますか?


UPDATE

実際のコード:

$result2 = mysql_query("SELECT * FROM `follows` WHERE `user_id` = '$session_user_id' AND `venue_id` = '$venue_id'");

while ($row2 = mysql_fetch_assoc($result2))
{
$following = $row2['following'];

if ($following == 1) {
echo 'do something';
} else {

echo 'do something else';

}



}

お役に立てれば

4

3 に答える 3

8

これを試して:

if (isset($somevariable) && $somevariable === 1) {
   echo 'Do Something here';
} else {
   echo 'Do Something Else';                
} 

これにより、変数が設定されているかどうか、および値(整数)の1両方が厳密に等しいかどうかがチェックされます。

編集:あなたのコードを試してみましたが、うまくいくようです。実際のコードを投稿することをお勧めします。if ステートメントに問題があるとは思いません。

于 2013-04-30T15:31:35.557 に答える
4

どうすればこの問題を解決できますか?

タイプミスのようなエラーを見つけて修正する。

あなたのコードは常に何かをエコーし​​ます。したがって、可能性は2つしかありません

  • 常にエコーする場合'here'- $somevariable には常に空でない値が含まれます。または、実行している実際のコードには、投稿したものではなく、 singleがあります ===
  • 何も出力しない場合 - else 部分なしでコードを実行しています:

    if ($somevariable == 1) {
        echo 'Do Something here';
    }
    

そのため、このような問題をすべて解決するためのアルゴリズムを次に示します。

  1. あなたの目を信じてください。
  2. コードを確認する
  3. コードをもう一度確認してください。
于 2013-04-30T15:43:48.190 に答える
-1

値をエコーアウトして、データベースが返すものを確認してください。実際の値は? データベースを見ましたか?

$result2 = mysql_query("SELECT * FROM `follows` WHERE `user_id` = '$session_user_id' AND `venue_id` = '$venue_id'");

while ($row2 = mysql_fetch_assoc($result2))
{
$following = $row2['following'](int);

echo $following;
if ($following == 1) {
echo 'do something';
} else {

echo 'do something else';

}



}

PHP には、変数の値をテストするために使用できるさまざまな関数があります。これに役立つ 3 つの関数は、isset()、empty()、is_null() です。これらの関数はすべてブール値を返します。これらの関数を正しく使用しないと、予期しない結果が生じる可能性があります。

isset() と empty() はしばしば反対の関数と見なされますが、これは常に正しいとは限りません。この投稿では、これらの機能の違いについて説明します。

isset()

PHPマニュアルから:

isset — 変数が設定されていて NULL でないかどうかを判断する

つまり、変数が null でない場合にのみ true を返します。

empty() PHP マニュアルより: empty — 変数が空かどうかを判断する

つまり、変数が空の文字列、false、array()、NULL、"0?、0、および未設定の変数の場合は true を返します。

is_null() PHP マニュアルより: is_null — 変数が NULL かどうかを調べる

詳細はこちら

https://www.virendrachandak.com/techtalk/php-isset-vs-empty-vs-is_null/

于 2013-04-30T15:32:51.230 に答える