if ($user_id == NULL || $user_name == NULL || $user_logged == NULL) {
$user_id = '-1';
$user_name = NULL;
$user_logged = NULL;
}
if ($user_admin == NULL) {
$user_admin = NULL;
}
is_null
でテストする必要がありますか?NULL
を繰り返さずに$user_id
、$user_name
および$user_logged
を1行(おそらく配列ですか?)に書き込むことは可能ですか?変数が実際NULL
であるかどうかをテストする場合は、ID演算子を使用します。
$user_id === NULL // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)
変数が設定されていないかどうかを確認する場合:
!isset($user_id)
または、変数が空ではない場合、空の文字列、ゼロ、..:
empty($user_id)
変数が空の文字列ではないかどうかをテストする場合は、!
でも十分です:
!$user_id
設定されていない(または空である)かどうかは、さまざまな方法で確認できます。
if (!$var){ }
または:
if ($var === null){ } // This checks if the variable, by type, IS null.
または:
if (empty($var)){ }
宣言されているかどうかは、次のコマンドで確認できます。
if (!isset($var)){ }
PHPは0(整数)と ""(空の文字列)およびfalseを "空"と解釈することに注意してください-そして、異なるタイプであることを嫌い、これらの特定の値はPHPによって同じと見なされます。 $ varが決して設定/宣言されないか、または$ var = 0または$ var = ""として宣言されるかは関係ありません。そのため、データ型に関して比較する===演算子を使用して比較することがよくあります。 $ varが0(整数)の場合、$ var == ""または$ var == falseは検証されますが、$ var === ""または$ var === falseは検証されません。
ここで、空の関数とissetがどのように機能するかを説明しました。適切なものを使用してください。is_null関数も使用できます
<?php
$val = 0;
//evaluates to true because $var is empty
if (empty($val)) {
echo '$val is either 0, empty, or not set at all';
}
//evaluates to true because $VAR IS SET
if (isset($val)) {
echo '$val is set even though it is empty';
}
?>
empty()
は、!$user_id
他の場所で提案されたとおり:
if (empty($user_id) || empty($user_name) || empty($user_logged)) {
}
注目に値する-そして、私はこれを9年近くPHP変数をチェックする最良の方法が存在するというコーディングの後にempty()関数を使用することで発見しました。エラーを生成し、それらをオフにしても-PHPはまだそれらを生成します!empty()ただし、変数が存在しない場合はエラーを返しません。したがって、正しい答えはnullかどうかを確認するが、次のことを行う
if (!empty($var) && is_null($var))
PHP manual
変数が存在しないか、値がFALSEの場合、変数は空と見なされます
ここで便利なnullであるのとは対照的に!
Null値を確認するには、以下に示すように is_null() を使用できます。
if (is_null($value)) {
$value = "MY TEXT"; //define to suit
}
他の反応のため、これに答えざるを得なかった。より多くのベースをカバーするため、可能であればempty()を使用します。今後ともよろしくお願いします。
たとえば、代わりにempty()を使用できるisset()&& strlen()などを実行する必要があります。この空は!isset($ var)のようなものだと考えてください|| $ var == false
isset()ルーチンを使用できます。
また、次のようなis_type()関数の範囲を参照することもできます。
is_string()、is_float()、is_int()など、さらに具体的にテストする
1。
if(!($user_id || $user_name || $user_logged)){
//do your stuff
}
2。いいえ。実際にそのような構成を記述する理由を理解できませんでした。
3。すべての値を配列に入れます。たとえば、$ ar ["user_id"]などです。
「空」の意味を定義してください。
私が通常使用するテストは isset()
です。
PHPで変数が空かどうかを確認するための最良かつ最も簡単な方法は、単にempty()関数を使用することです。
if empty($ variable)then ....
<?php
$nothing = NULL;
$something = '';
$array = array(1,2,3);
// Create a function that checks if a variable is set or empty, and display "$variable_name is SET|EMPTY"
function check($var) {
if (isset($var)) {
echo 'Variable is SET'. PHP_EOL;
} elseif (empty($var)) {
echo 'Variable is empty' . PHP_EOL;
}
}
check($nothing);
check($something);
check($array);