ホームページ >バックエンド開発 >PHPの問題 >PHPの文字化けを検出する方法

PHPの文字化けを検出する方法

藏色散人
藏色散人オリジナル
2020-09-28 09:17:423484ブラウズ

php の文字化けを検出するメソッド: 最初に PHP サンプル ファイルを作成し、次に「json_encode($string) === 'null'」メソッドを使用して文字列内の文字化けを特定し、最後に戻り値を確認します。結果。 。

PHPの文字化けを検出する方法

推奨: 「PHP ビデオ チュートリアル

php は文字列に文字化けが含まれているかどうかを判断します

文字列に文字化けが含まれているかどうかを判断します。

1: 通常の一致を使用できますが、文字化けにどのような記号が含まれている可能性があるかを知る必要があります。

2. 黒魔術の json_encode( $string) === 'null' を使って判定します。文字列に文字化けが含まれている場合、json_encode は null を返します。

PHP で変数が空かどうかを判断するいくつかの方法のまとめ

変数が空かどうかの判断は、多くの場面で使用されます。多くの初心者はよく間違いを犯すため、変数が空かどうかを判断するために PHP で一般的に使用されるメソッドをいくつか整理しました。

1. isset 関数: かどうかを判断します。変数は初期化されています

注: 変数が空かどうかは判断されませんが、配列内の要素が定義されているかどうかを判断するために使用できます。配列要素が初期化されているかどうかを判断するには、array_key_exists よりも効率が約 4 倍高くなります。

コードは次のとおりです。

$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已经被初始化' . "";
// 显示结果为
// $b 未被初始化
// $a 已经被初始化

2. empty 関数: 変数が「空」かどうかを検出します

注: 初期化されていない変数、値が 0 または false の変数、または空の文字列 "" または null、空の配列、または属性のないオブジェクトは empty==true

注 1: 初期化されていない変数も empty

によって「空」として検出できます。注 2: empty は変数のみを検出でき、ステートメントは検出できません。

コードは次のとおりです:

$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";

3. var == null 機能: 変数が「null」かどうかを判断します

説明: 値は次のとおりです。 0 または false または空の文字列 "" または null 変数、空の配列は null と判断されます

注: 空との大きな違いは、変数が初期化されていない場合に var == null がエラーを報告することです。 。

コードは次のとおりです:

$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c

4. is_null 関数: 変数が「null」かどうかを検出します

説明: 変数に「null」の値が割り当てられた場合、検出結果は true になります

注 1: null は大文字と小文字を区別しません: $a = null; $a = NULL は違いはありません

注2: 変数の値がnullの場合のみ検出結果がtrueとなり、0、空文字列、false、空配列はすべてfalseとして検出されます

注3: 変数の値がnullの場合のみ検出結果がtrueとなります。変数が初期化されていない場合、プログラムはエラーを報告します

コードは次のとおりです:

$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL
// Undefined variable: c

5. var === null関数: 変数が "null" かどうかを検出し、変数の型も "null" である必要があります。

注: 変数に "null" の値が割り当てられ、変数の型も "null" である必要がある場合"null" の場合、検出結果は true になります。

注 1: "null" と判定された場合は、すべて is_null と同じ効果になります。

注 2: 変数が true でない場合初期化されると、プログラムはエラーを報告します。

概要 PHP では、「NULL」と「空」は 2 つの概念です。

isset は、主に変数が初期化されているかどうかを判断するために使用されます。

empty は、「false」、「empty」、「0」、「NULL」、 「初期化されていない」と TRUE

is_null と判定する 値が「NULL」の変数のみ TRUE

var == null 「false」、「空」、「0」、「」と判定NULL" すべての変数が TRUE

var === null であると判断されます。値が "NULL" である変数のみが TRUE

であると判断されます。実際には「NULL」ですが、ほとんどの場合、「false」や「0」などの値との干渉を避けるために is_null を使用します。

以上がPHPの文字化けを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。