問題タブ [isset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
17 に答える
148237 参照

php - PHP で変数の存在をテストする最良の方法。isset() は明らかに壊れています

isset()ドキュメントから:

基本的にisset()、変数が設定されているかどうかはチェックしませんが、 以外に設定されているかどうかをチェックしますNULL

それを考えると、変数の存在を実際に確認する最良の方法は何ですか? 私は次のようなものを試しました:

( が設定されていない@場合の警告を回避するために必要$vです) しかしis_null()、 と同様の問題がありisset()ます: 設定されていない変数を返しTRUEます! また、次のようにも見えます。

とまったく同じよう@is_null($v)に動作するので、それも問題ありません。

PHP で変数の存在を確実に確認するにはどうすればよいでしょうか?


編集:PHPでは、設定されていない変数と設定されている変数の間に明確な違いがありますNULL:

PHP は$a['b']存在し、NULL価値があることを示しています。追加する場合:

私が関数で話しているあいまいさを見ることができますisset()。これら3つすべての出力は次のvar_dump()sとおりです。


さらに編集:2つのこと。

1 つ、使用例。配列は SQLUPDATEステートメントのデータに変換されます。配列のキーはテーブルの列であり、配列の値は各列に適用される値です。テーブルのどの列にも値を保持できます。これは、配列NULLに値を渡すことによって示されます。配列キーが存在しないことと、配列の値が に設定されていることを区別する方法NULL必要NULLです。これが、列の値を更新しない場合と、列の値を に更新する場合の違いNULLです。

第二に、Zoredacheの答えarray_key_exists()は、上記のユースケースとグローバル変数に対して正しく機能します:

出力:

それは、存在しない変数と に設定されている変数の間にあいまいさが見られるほぼすべての場所を適切に処理するNULLため、変数 の存在を真に確認するために PHP で公式の最も簡単な方法を呼び出しarray_key_exists()ています。

(私が考えることができる唯一の他のケースは、 が存在するクラスプロパティの場合であり、その docsproperty_exists()によれば、設定されていないことと に設定されていることを適切に区別するという点で と同様に機能します。)array_key_exists()NULL

0 投票する
5 に答える
3942 参照

php - PHP/HTML-isset関数

私はPHPにかなり慣れておらず、会社のWebサイトを作成しています。入手した既存のコードを使用していますが、正しく機能しないようです。助けていただければ幸いです。

ページに表示する製品カテゴリタイプを識別する変数$idがあります。まず、id変数が設定されていることを確認する必要があります。設定されていない場合は、変数をデフォルトでカテゴリ0に設定します。

私が持っているコードは次のとおりです。

したがって、アドレスwww.website.com/browse.phpを使用すると、デフォルトで$ id=0になると予想されます。アドレスwww.website.com/browse.php?id=3の場合、$ idを3に設定し、関連する製品を表示することを期待します。ただし、$ idを設定しても、デフォルトは0のままです。コードに明らかに間違っている点はありますか?

0 投票する
5 に答える
3519 参照

php - php issetフォームチェックで必要ですか?

$ _REQUEST ["input_name"]をチェックするときに、フォーム処理中に配列が必要かどうかを理解しようとしています。値が渡されない場合、それについては泣きません。また、アクセスしようとしてもphpはエラーをスローしません。存在しない配列項目....if($ _ REQUEST ["input_name"])..を使用できます。if()を使用できる場合でも「空」はどうですか。

THnks

0 投票する
7 に答える
37283 参照

c# - 変数がC#で初期化されているかどうかを確認する方法は?

私はこれがばかげた質問であることを知っており、以前に尋ねられたに違いないと思います. しかし、私は私の質問に対する答えを見つけることができません。

私の問題を概説するためのサンプルコード(もちろんコンパイルされません)を次に示します。

私が抱えている問題は次の行にあります。

これは VB の構文であり、もちろん C# コンパイラが受け入れるものではありません。誰かが問題を解決する方法を教えてもらえますか?

0 投票する
19 に答える
125668 参照

php - どこで isset() と !empty() を使用しますか

isset()関数が空の文字列を として扱うことをどこかで読んだTRUEためisset()、HTML フォームからのテキスト入力とテキスト ボックスを検証する効果的な方法ではありません。

したがってempty()、ユーザーが何かを入力したことを確認するために使用できます。

  1. isset()関数が空の文字列を として扱うというのは本当TRUEですか?

  2. では、どのような状況で使用する必要がありますisset()か? 何かがあるかどうかを常に!empty()確認するために使用する必要がありますか?

たとえば、代わりに

これを使って

0 投票する
2 に答える
11514 参照

php - empty()に加えてPHPのisset()を使用するにはどうすればよいですか?

isset()を追加し、以下のコードにempty()を保持するにはどうすればよいですか?

アップデート:

phpが通知や警告を生成しないことを確認したいだけです

0 投票する
7 に答える
3991 参照

php - ループを使用せずに配列が空かどうかを確認しますか?

配列が空かどうか、またはループを使用せずにこれを行うにはどうすればよいかを確認するために PHP で利用できる関数はありますか?

例えば:$b = array('key1' => '', 'key2' => '', 'key3' => '', 'key4' => '');

ループを使用せずに、配列 $b に空の値が含まれていることを確認するにはどうすればよいですか?

0 投票する
1 に答える
520 参照

php - PHPを使用してMySQL INSERT QUERYで変数の存在を確認する簡潔な方法

ショッピング バスケットに商品を追加するための PHP スクリプトを作成しています。私のショッピング バスケット テーブルには、ユーザー ID、製品 ID、セッション ID、メモ、その他いくつかのフィールドがあります。一部のフィールドは空白にすることができます。例えば:

誰かがサインインしていない場合は、セッション ID をテーブルに保存し、サインインしている場合はユーザー ID を追加して、テーブル内の項目をユーザーに永続的に一致させる方法を提供します。そうであれば、ユーザー ID を追加します。INSERT クエリに関しては、次のようなことができますか。

$add_sql = "INSERT into sessionBasket (userid) VALUES ( '". isset($_SESSION["userid"]) ? $_SESSION["userid"] : "") ."'";

人々がサインインしているかどうか、アイテムにメモがあるかどうかなど、変数のチェックと分岐にかかる時間を大幅に節約できます。

0 投票する
5 に答える
8411 参照

php - 配列キーが存在するかどうかをテストする最良の方法

次のような別の配列から配列を作成したいとします。

$ array2に、追加するインデックスごとにifを使用せずに、他の配列に渡すインデックスがあるかどうかをテストするための最良の方法は何ですか。

$arrayのキーは$array2とは異なる場合があることに注意してください

0 投票する
4 に答える
188 参照

php - 多くの変数をチェックして、そのうちの 1 つが PHP で null かどうかを確認するためのより良い解決策はありますか?

$_REQUEST[]orで受け取る変数が多い php ファイルで、値がfunction である$_POST[]場合にチェックする必要があり、なかなか面倒です。より良い解決策はありますか?nullisset()