php 空、isset、です
A. 変数が定義されていない場合、どのように判断すればよいでしょうか?
コードは次のとおりです。次のように:
#$test 変数が存在しません$isset= isset($test)?"テストは定義です!":"テストは未定義です!" ;
echo "isset:$issetrn";
$empty=!empty($test)?"テストは定義されています!":"テストは未定義です!";
echo "empty:$ emptyrn";
$is_null=is_null($test)?"テストは定義されています!":"テストは未定義です!";
echo "is_null:$is_nullrn";
テスト結果は次のとおりです:
結果は次のとおりです:
empty と isset は、まず変数が存在するかどうかを確認し、次に変数の値を検出します。そして is_null は変数値を直接チェックして null かどうかを確認するだけなので、変数が定義されていない場合はエラーが発生します。
B. それぞれが受け取るパラメータを確認してください。
isset 関数パラメータ:
$test=100;
echo isset($test),isset(100),$isset($b=100);
解析エラー: 解析エラー、予期しない T_LNUMBER、PHPDocument3 行に T_STRING または T_VARIABLE または "$" が必要です;b>3
空の関数パラメータ:
$test=100;
エコー空($test),空(100),空($b=100);
is_null 関数パラメータ:
$test=100;
エコー is_null($test),is_null(100),is_null($b=100);
実行結果: エラーはありません。
比較結果は次のとおりです。
空、isset 入力パラメータは変数 (php 変数は $ 文字で始まる) である必要があり、is_null 入力パラメータには戻り値のみが必要です。 (定数、変数、式など)。 PHP マニュアルでは、空、isset は関数ではなく言語構造であるため、変数関数から呼び出すことができないと分析されています。2. isset、empty、is_null の違いを要約します。 今紹介したこと: 変数とパラメーターの型のチェックが、これら 3 つの関数の違いの基礎です。最も見落とされやすいものでもあります。インターネット上でこれら 3 つの機能を比較した記事をたくさん見かけました。これらがカバーされることはほとんどありません。次にお話したいのは、両方が既存の変数をチェックするときの違いです。
例:コードをコピー
コードは次のとおりです: $a=100;
$c=null;//isset check
echo "isset","$a=$a",isset( $a) ?"define":"undefine","rn";
echo "isset","$b=$b",isset($b)?"define":"undefine","rn";
echo "isset","$c=$c",isset($c)?"define":"undefine","rn";
unset($b); ,"$ b",isset($b)?"define":"undefine","rn";
$b=0;
echo "rnrn";
echo "empty","$a=$a",!empty($a)?"no empty":"empty","rn";
echo "empty","$b=$b ",! empty($b)?"no empty":"empty","rn";
echo "empty","$c=$c",!empty($c)?"no empty": "空" ,"rn";
unset($b);
エコー "空","$b",!empty($b)?"空ではありません":"空","rn";
$b=0;
echo "rnrn";
//is_null check
echo "is_null","$a=$a",!is_null($a)?" no null" :"null","rn";
echo "is_null","$b=$b",!is_null($b)?"no null":"null","rn";
echo " is_null","$c=$c",!is_null($c)?"no null":"null","rn";
unset($b); ,"$ b",is_null($b)?"no null":"null","rn";
上記の簡単なテストを通じて、変数が存在する場合、isset、empty、is_null の検出、および値の取得を一般的に知ることができます。上記に例示されていない変数がさらにあります。実際、テストでは次のことが判明しました。
空
変数が空でない値またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、 ""、0、"0"、NULL、FALSE、array()、var $var、unknown; およびプロパティを持たないオブジェクトは空とみなされ、 var が空の場合は TRUE が返されます。
isset
変数が存在する (NULL ではない) 場合は TRUE を返し、それ以外の場合は FALSE (未定義を含む) を返します。変数値は null に設定され、戻り値も false になります。変数の設定を解除すると、変数はキャンセルされます。 isset は NULL 値変数を特別に処理することに注意してください。
is_null
受信値 [値、変数、式] が null であるかどうかを確認し、その値が null であることを返します。 FALSE [未定義の変数を渡すとエラーが発生します! ].
質問: 変数が設定されており、その値が NULL であるかどうかを確認するにはどうすればよいですか?
上記の比較を通して、誰もが私と同じようにこの疑問を心に抱くのではないでしょうか。 変数が null かどうかを検出するには、is_null を使用できますが、変数が定義されていない場合はエラーが発生します。したがって、変数が定義されているかどうかを検出するには isset を使用できると考えましたが、変数の値が null の場合は false を返します。ははは、この問題を解決するにはどうすればよいでしょうか。全員が共有するのを待っています...
変数が存在し、値が NULL であることを確認します。
コードをコピーします コードは次のとおりです
function checkNull($a)
{
if(array_key_exists($a,$GLOBALS))
{
global $$a;
if(is_null($$a))
return true;
}
$test=null; ("テスト"));
var_dump(checkNull("test1"));

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ファーウェイは、Watch GT 5 および Watch GT 5 Pro スマートウォッチ用のソフトウェア バージョン 5.0.0.100(C00M01) をグローバルに展開しています。これら 2 つのスマートウォッチは最近ヨーロッパで発売され、標準モデルが同社の最も安価なモデルとして登場しました。このハーモニー

『鉄拳』シリーズのディレクターである原田勝弘氏は、かつて真剣にカーネル・サンダースを象徴的な格闘ゲームに登場させようとした。 TheGamerとのインタビューで原田氏は、このアイデアを日本KFCに売り込み、ファストフード界のレジェンドをGとして追加したいと考えていたことを明かした。

2024年9月初め、AnkerのZolo 140W充電器がリークされました。これは同社初のディスプレイ付き壁掛け充電器だったため、大きな話題になりました。 YouTube の Xiao Li TV からの新しい開封ビデオでは、この製品を直接見ることができます。

サムスンの待望の折りたたみ式「スペシャルエディション」の発売には、また新たな展開が加わった。ここ数週間、いわゆる Galaxy Z Fold Special Edition に関する噂はかなり静かになりました。代わりに、焦点はGalaxy S25シリーズに移りました。

Xiaomiは間もなくMijiaグラフェンオイルヒーターを中国で発売する予定です。同社は最近、Youpin プラットフォームでホストされるスマート ホーム製品のクラウドファンディング キャンペーンを実施し、成功を収めました。ページによると、デバイスはすでに出荷され始めています

Garmin は、最新のハイエンド スマートウォッチの新しい安定したアップデートのセットで月末を迎えます。要約すると、同社は Enduro 3、Fenix E、および Fenix 8 のバッテリー消耗の多さに対処するためにシステム ソフトウェア 11.64 をリリースしました (Amazon で現在 1,099.99 ドル)。

テスラは最新の完全自動運転 (監視付き) バージョン 12.5.5 を展開しており、これには、ファウンデーション シリーズのトリム価格に含まれる機能を備えたピックアップが発売されてから 10 か月後に、約束されていたサイバートラック FSD オプションがついに付属します。 F

10 年以上の歴史を持つ Manjaro は、インストールと使用が簡単で、初心者とパワーユーザーの両方に適した最もユーザーフレンドリーな Linux ディストリビューションの 1 つとみなされています。主にオーストリア、ドイツ、フランスで開発されたこの Arch ベースのディストリビューション
