1
if($hOne!='') {
   echo 'yes';
 } else {
   echo 'no';
}

したがって、しばらくの間、上記のコードを使用してid X変数が設定されていることを確認していましたが、ワードプレスサイトで作業するまでは問題なく機能していました(詳細についてはあまり説明しません)が、基本的に最初は変数に触れたことがなく、意図したとおりに機能します。値を入力してからその値を削除すると、設定されていると見なされるようです。

私がこれを回避する方法は、以下のコードを使用することです、私の質問は、これを行うためのより良い方法がありますか?

乾杯

if (preg_match('/[A-Za-z]/i', $hone)) {
       echo 'yes';
     } else {
       echo 'no';
    }

結果意図したとおりに機能する以下を使用しました。ありがとうございました。

if(isset($hone) and
       !empty($hone)) {
        echo '1';
    } else {
        echo '2';
    }
4

3 に答える 3

5

右。私のアドバイスは、戻って PHP ドキュメントを読むことです。ほとんどのセクションを少なくとも垣間見るには、1 ~ 2 週間のプロジェクトにします。

isset または empty を使用します。

if (isset($hOne)) { }

変数が存在するかどうかを確認し、

if (empty($hOne)) { }

設定されているが空かどうかをチェックします。

PHP の学習を支援するために、これをアプリの先頭に貼り付けることをお勧めします。

$test_server = $_SERVER['SERVER_NAME'] == "127.0.0.1" || $_SERVER['SERVER_NAME'] == "localhost" || substr($_SERVER['SERVER_NAME'],0,3) == "192"; 

ini_set('display_errors',$test_server);
ini_set('display_startup_errors',$test_server);

error_reporting(E_ALL|E_STRICT);

(または、ローカルで作業していない場合は、$test_server を 1 に設定してください。)

于 2012-06-29T08:56:27.960 に答える
1

issetempty変数が存在し、空でないかどうかを判断するには、関数を使用する必要があります。

しかし、これは:

if (preg_match('/[A-Za-z]/i', $hone)) {
   echo 'yes';
} else {
   echo 'no';
}

変数 (文字列) にほぼ 1 文字 (大文字と小文字は関係ありません) が含まれているかどうかを確認します。実際、それもかなりばかげています(/../i--ignore case と patterを使用しますA-Za-z

于 2012-06-29T08:59:44.907 に答える
1

if ($x != '')変数が設定されているかどうかを確認するために使用するだけではいけません。たとえば、変数をこのように設定できます$x = ''。次のように設定されているかどうかisset($x)を確認し、設定されているが空であるかどうかを確認する必要があります。empty($x)

于 2012-06-29T08:59:56.977 に答える