コンピュータープログラミング

PHP実践:文字列比較

PHPは、良い情報の取り扱いに焦点を当てています。 言語の構文は、比較関数は、文字列処理、比較演算子の完全な機能セットが表されています。

任意のアルゴリズム - の選択肢とアクションのシーケンス。 あなたが選択をする前に、しかし、あなたは何かでそれを比較するために何かを必要としています。 ライン - 最も容量の大きい効率的かつ実用的なアルゴリズムの制御機構。 ライン - データプレゼンテーションの変種。 データは - これは、任意のアルゴリズムの「ケア」の主題です。

通常のロジック「比較・アクション」

一般的には、動的な型付けの舌は、PHPの比較ラインなどのデータに差異を、行わず、数はあまり違いはありません。 数 - それは数字のみ、ポイントを含み、任意の形態(数学的表記法)の数字を表すために使用されていない単一の文字がない場合、それは、また、文字列です。

kontenkatsii番号が自動的に行と合併した場合、何の質問は尋ねないと何の隠れたエラー、たとえはgettype()関数は「整数」または「ダブル」を提供します。

しかし、is_int()とIS_NUMERIC()を使用して差があります。 最初に真実を与えるパラメータが整数である場合、のみ、第二の、ときに任意の数値または数値文字列(変数型は、「文字列」であるが、すべての数学的表記を提供含みます)。

PHPの文字列比較演算子は(!「==」「===」...「=」)多くの驚きを提示できる方法の良い例 - これは単純な例です。 変数はそのタイプを変更することができ、彼らは常に数字ではありませんが、ほとんど常に彼らがラインにつながることができます。 極端な場合には - それは空の文字列になります。

以上を踏まえ、PHPの文字列比較関数は、最も人気があります。 正確にどのような開発者を決定するために、選択します。 正規表現まで使用可能なオプションがたくさん。

利用できる機能の境界線

安い、忠実かつ実用的なオプション - 二列のPHP-比較が良い「やる」関数strpos()です。 場合 の結果 ファンクション番号、その後明らかに1つの文字列は、他に別の又は一部に等しいです。

根本的に反対するだけでなく、絶対的に正しいアプローチ - 正規表現の使用。

機能$ CRESULT = scCheckFileName($ CSTR)が「真」与えた場合、その行は、ファイルvordovskyの名前です。 『 - 』文字のみ、数字と文字 『_』、:彼は、唯一の拡張のオプション「の.docx」と名前には文字なしを持っています。

機能は、簡単に他のタイプのファイルに変換することができます:$ CPTR =「/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docxファイル| TXT){1} $ / U」。 この変形例では、HTMLのために(例えば、PHPの文字列比較は、「入力エラーのチャンスがないと、サーバーにファイルをアップロードするには、」適用される)範囲走査線のダウンロードを拡張し、JS、CSS、...

strpos()とするpreg_match()を使用して - 極端な。 彼らは、比較期間の問題に直接関係はありません。 しかし、アルゴリズムの問題は - 信頼性と正確な結果を達成するために、すべての機会を利用するスタイルの組み合わせを使用しての問題です。

機能PHP:文字列比較

純粋な、比較関数だけでなく、直接検索や代替の組み合わせ - アーセナルの言語は、文字列を比較しました。 後者は必ずしも任意の行の変化につながらないことから、比較と一致しなければなりません常に行動しません。 多くの場合、あなたは1またはアルゴリズムの他の枝を選択する必要があります。

通常のバリアントPHP:文字列比較関数int型のstrcmpを行う(S1、S2)。

関数の結果:

  • 0 - ライン等しいです。
  • -1 - 最初の列は、秒未満です。
  • 1 - 2番目の列よりも第1以上。

実際には、これは第二に、最初の行の一部、からPHP関数(比較行)が決定することを意味します。 strposのより限定されたバージョン()、後者の場合には、エントリの位置を知ることができるからです。

関数strcmp()関数 - 敏感。 あなたは、文字列と小文字を区別しない比較したい場合は、PHPはそのstrcasecmpを提供しています()。 構文は似ています。

実際には、多くの場合、行全体ではない仕事に必要な、それの一部のみ。 関数PHP(文字列比較)このセットのためにstrncmpは(S1、S2、N)を含んでいました。 第三のパラメータは、Nバイトの比較を行う指定します。 結果は、類似のstrcmp()です。

配列、文字列と比較します

これらは、ほとんどの場合、文字列で表されます。 我々は、配列、オブジェクト、またはデータ構造を考慮すれば、それは単純な文字列構造の組み合わせだけ異なる亜種です。

文字列配列と行が相補的に提供することができます。 文字列関数の破(アレイ、シンボル)への配列の変換、例えば:$ margins1 =破( ''、$ STYLE-> getInnerMargin()); ...アルゴリズム/ユーザー...。 $ Margins2 =破(「」、$ STYLE-> getInnerMargin())あなたは、文字列の位置にあるオブジェクトの位置のすべてをマージすることができます。

その後、PHPの文字列比較を行い、その時のことができます:$チェック=のstrcmp($ margins1、$ margins2)とアルゴリズムまたは何かが変更された(またはしない)しているユーザを確認してください。 あなたは通常の方法で比較を行う場合は、配列の要素をソートする必要があります。 それは時間がかかり、より複雑です。

オブジェクトとライン

さらに壮大な使用PHP(文字列比較)は、オブジェクト指向の考え方を介して実施することができます。

施設の近代的なアイデアは、彼らがプロパティとメソッドを持っていることを示唆しています。 前者は、通常、数値、文字列、アレイ、および他のオブジェクトによって表されます。 後者は、多くの場合、回収ライン内とラインから記録技術を(置く)(取得)が含まれます。

アレイとは異なり、オブジェクトは、独自の特性を有する作業を行い、他のオブジェクトと相互作用します。 オブジェクトのプロパティは、全体としてプログラムのアルゴリズムのための真の価値である、「有能」。

この瞬間は、文字列を記録する際に必要な情報のみ基礎と記録する機会を提供し、ラインの復旧に必要な状態にあるすべての作業特性を回復します。 通常、任意のオブジェクトにかなりの情報と作業(時間)があります。 このアイデアの実装では、あなただけでなく、メモリ、ディスク容量、データベースのレコードを保存することができますが、また、それが可能行は、よりシンプルで正確な手段を比較することができます。

構文とセマンティクス

PHPは動的に開発され、その機能の両方常に比較する文字列の条件とでは、その治療の面で改善しました。 しかし、何も意味論の領域に重心を移動するために、開発者を防ぎません。

確かに、機能性は良いですが、その使用は、オブジェクト内のコードの意味に転送することができます。 このアルゴリズムは、オブジェクト間の相互作用のシステムとして提示されると、それは直接シーケンスにおける配列比較とアクション、古典的なスタイルよりもはるかに良く見えます。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ja.unansea.com. Theme powered by WordPress.