ホームページ >バックエンド開発 >PHPチュートリアル >PHP数値型の文字列型の詳しい説明_PHPチュートリアル

PHP数値型の文字列型の詳しい説明_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:13:241009ブラウズ

PHP では、文字列を文字化できます。一般的に使用されるのは、一重引用符と二重引用符です。これら 2 つは PHP5.3.0 以降で定義されている必要があります。

PHP の文字列は次の 4 つの方法で定義できます:

一重引用符
二重引用符
ヒアドキュメントの構文構造
nowdoc 構文構造 (PHP 5.3.0 以降)
一重引用符
文字列を定義する最も簡単な方法は、文字列を一重引用符 (句読点 ') で囲むことです。

一重引用符を出力したい場合は、その前にバックスラッシュ () を追加する必要があります。一重引用符の前または文字列の末尾にバックスラッシュを出力するには、2 つの () を入力します。バックスラッシュの前に他の文字がある場合、バックスラッシュが直接出力されることに注意してください。

注: 二重引用符やヒアドキュメント構文の構成とは異なり、一重引用符で囲まれた文字列内の変数や特殊な意味の文字は置換されません。

文字列が二重引用符 (") で囲まれている場合、PHP は一重引用符文字列と同様に、いくつかのエスケープ文字を解析します。エスケープ文字以外の文字が出力される場合は、バックスラッシュが出力されます。PHP5 .1.1 より前では、{$ のバックスラッシュはvar}が表示されませんでした

二重引用符で定義された文字列の最も重要な特徴は、変数が実行されることです。

ヒアドキュメント構造
文字列を定義する 3 番目の方法は、ヒアドキュメント構文構造 <<< を使用することです。プロンプトの後に、識別子を定義し、その後に新しい行を入力します。次に文字列自体が続き、前に定義した識別子で終わります。

最後に引用された識別子は行の先頭にある必要があり、識別子の命名は他のタグと同じ PHP ルールに従う必要があります。文字、数字、アンダースコアのみを含めることができ、数字やアンダースコアで始めることはできません。 。

警告: 識別子を終了する行には、セミコロン (;) 以外の文字を含めてはいけないことに注意してください。これは、識別子をインデントしたり、セミコロンの前後に空白やタブを入れたりすることはできないことを意味します。さらに重要なのは、終了識別子の前にローカル オペレーティング システムで認識される改行ラベル (UNIX および Mac OS X システムの n など) を付ける必要があり、終了識別子 (セミコロンが付いている場合がある) の後にも改行ラベルを付ける必要があることです。ラベル。

このルールに従わず、終了タグが「クリーン」でない場合、PHP はそれが終了識別子ではないと判断し、検索を続けます。ファイルの終わりまでに正しい終了識別子が見つからない場合、PHP は最後の行で構文エラーを生成します。

ヒアドキュメント構造は、二重引用符のない二重引用符で囲まれた文字列のようなものです。これは、ヒアドキュメント構造内で引用符が置換されないことを意味しますが、上記の文字 (n など) も使用できます。 変数は置換されますが、複雑な変数をヒアドキュメント構造内の文字列として表現する場合は注意してください。

Nowdoc の構造
ヒアドキュメント構造が二重引用符で囲まれた文字列に似ているのと同様に、Nowdoc 構造も一重引用符で囲まれた文字列に似ています。 Nowdoc 構造はヒアドキュメント構造とよく似ていますが、nowdoc は解析操作を実行しません。 この構造は、エスケープする必要のない PHP コードやその他の大きなテキストに適しています。解析する必要のないテキストの大部分を宣言するために使用される SGML の 構造と同様に、nowdoc 構造も同じ特性を持っています。

nowdoc 構造でもヒアドキュメント構造と同じタグ <<< を使用しますが、次の識別子は <<<'EOT' のように一重引用符で囲む必要があります。ヒアドキュメント構造のすべての規則、特に終了識別子の規則は、nowdoc 構造にも適用されます。

変数分析
文字列が二重引用符またはヒアドキュメント構造で定義されている場合、その中の変数が解析されます。

ここには、単純なルールと複雑なルールの 2 種類の文法ルールがあります。単純な構文ルールは最も一般的で便利であり、最小限のコードで変数、配列値、またはオブジェクト プロパティを文字列に追加できます。

PHP4 以降では複雑な構文ルールが追加され、中括弧で囲まれた式がその明らかな兆候です。

簡単な構文ルール
PHP パーサーは、ドル記号 ($) を検出すると、他の多くのパーサーと同様に、正当な変数名を形成しようとします。中括弧を使用すると、変数名を明確に区切ることができます。


より複雑な構造を表現したい場合は、複雑な構文ルールを使用します。


複雑な構文ルール

複雑な構文ルールは、その構造が複雑であるためではなく、複雑な式を使用できるために名前が付けられています。

文字列で使用したいスカラー変数、配列変数、またはオブジェクト プロパティでこのメソッドを使用できます。 文字列の外側と同じように式を記述し、中括弧 { と } で囲むだけです。 { はエスケープできないため、{ の隣にある場合は $ のみが認識されるため、{$ を使用して {$ を表現できます。

文字列内の文字にアクセスして変更する

文字列内の文字は、0 から始まり、$str[42] などの配列構造と同様に角括弧内に対応する数字を含めることで検索および変更できます。文字列は配列と考えることができます。 関数 substr() および substr_replace() を使用して、複数の文字を実装できます。


警告角括弧内の数値が範囲外であると空白が生成されます。非整数型は整数に変換され、非整数型は書き込み時に E_NOTICE レベルのエラーを生成しますが、空の文字列が読み取られます。指定された文字列の最初の文字のみが使用可能であり、空の文字列は null バイトとして指定されます。

便利な関数と演算子
文字列は「.」(ドット) 演算子を使用して連結できます。「+」(プラス記号) 演算子にはこの機能がないことに注意してください。

文字列操作には便利な関数がたくさんあります。

ほとんどの関数については、「文字列関数」を参照してください。高度な検索と置換関数については、「正規表現関数」または「Perl タイプの正規表現関数」を参照してください。

URL文字列の関数や文字列を暗号化/復号化する関数もあります。 (mcrypt と mhash)。

最後に、文字タイプ関数を参照できます。


文字列に変換します

値の前に (string) を追加するか、strval() 関数を使用することで、値を文字列に変換できます。 文字列を必要とする式では、関数 echo や print を使用するとき、または変数と文字列を比較するときに文字列が自動的に変換されます。この変換の種類と型変換は、次のことについて説明するのに適しています。 、関数 settype() も参照してください。


ブール値 TRUE は文字列「1」に変換されます。ブール値 FALSE は "" (空の文字列) に変換されます。 この変換は、ブール値と文字列の間で実行できます。


整数または浮動小数点数は、指数表記 (4.1E+6) を使用したリテラル数値文字列 (浮動小数点数の指数部分を含む) に変換されます。

配列は文字列「Array」に変換されるため、echoやprint cでは配列の値を表示できません。配列値を表示したい場合は、echo $arr['foo'] 構造体を使用できます。詳細は以下で説明します。

PHP 4 では、デバッグ上の理由から、オブジェクトは文字列「Object」に変換されます。メソッドのテキストを参照してください。オブジェクトのクラスの名前を取得するには、get_class() 関数を使用します。 PHP5 では __toString を使用できます。

リソースは常に「リソース ID #1」という構造の文字列に変換されます。1 は PHP によってリソースに割り当てられた一意の番号です。この構造にはあまり注意を払わないでください。それはまさに変わろうとしています。リソースタイプを取得するには、関数 get_resource_type() を使用します。

NULL は常に空の文字列に変換されます。

上で述べたように、配列、オブジェクト、またはリソースを文字列に直接変換しても、それ以上の情報は得られません。これらのタイプのコンテンツは、関数 print_r() および var_dump() を使用してリストできます。

ほとんどの PHP 値は、長期保存のために文字列に変換でき、これはシリアル化と呼ばれ、関数 Serialize() を使用して実装できます。 PHP エンジンが WDDX をサポートするように構成されている場合は、PHP 値を XML 形式で保存することもできます。

文字列を数値に変換する
文字列が数値コンテキストで使用される場合、結果と型は次のようになります:

文字列に「.」、「e」、「E」が含まれず、数値が整数型の制限 (PHP_INT_MAX で定義) を満たす場合、文字列は整数とみなされ、それ以外の場合は浮動小数点とみなされます。 。

文字列の先頭部分がその値を示します。文字列が有効な数値で始まる場合は、その数値を直接使用できます。 それ以外の場合、値は 0 (ゼロ) です。 有効な値は、記号、その後に 1 つ以上の数字 (小数点が含まれる場合もあります)、その後に「e」または「E」などのオプションの指数記号、その後に 1 つ以上の数字が続きます。

C 言語のような整数変換を通じて対応する文字を取得することを想像しないでください。関数 ord() と chr() を使用して ASCII コードと文字の間で変換します。


よく使用される文字列処理関数をいくつか紹介します


AddSlashes: 文字列にスラッシュを追加します。
bin2hex: 2 進数を 16 進数に変換します。
チョップ: 連続した空白を削除します。
Chr: 文字の序数値を返します。
chunk_split: 文字列を小さなセグメントに分割します。
Convert_cyr_string: キリル文字列を他の文字列に変換します。
crypt: DES エンコードを使用して文字列を暗号化します。
エコー: 出力文字列。
爆発: 文字列を分割します。
flash: 出力バッファをクリアします。
get_meta_tags: ファイル内のすべてのメタ タグのデータを抽出します。
htmlspecialchars: 特殊文字を HTML 形式に変換します。
htmlentities: すべての文字を HTML 文字列に変換します。
implode: 配列を文字列に変換します。
join: 配列を文字列に変換します。
ltrim: 連続した空白を削除します。
md5: 文字列の MD5 ハッシュを計算します。
nl2br: 改行文字を
に変換します。
Ord: 文字の序数値を返します。
parse_str: クエリ文字列を変数に解析します。
print: 出力文字列。
printf: フォーマットされた文字列を出力します。
quote_printable_decode: qp エンコードされた文字列を 8 ビット文字列に変換します。
QuoteMeta: 引用符を追加します。
rawurldecode: URL 固有の形式文字列を通常の文字列に変換します。
rawurlencode: 文字列を URL 固有の形式にエンコードします。
setlocale: ローカリゼーション情報を設定します。
like_text: 文字列の類似性を計算します。
soundex: 文字列の発音値を計算します
sprintf: 文字列をフォーマットします。
strchr: 最初に出現した文字を検索します。
strcmp: 文字列の比較。
strcspn: さまざまな文字列の長さ。
strip_tags: HTML タグと PHP タグを削除します。
StripSlashes: バックスラッシュ文字を削除します。
strlen: 文字列の長さを取得します。
strrpos: 文字列内で最後に出現する文字を検索します。
strpos: 文字列内で最初に出現する文字を検索します。
strrchr: 文字が最後に出現した位置から始まる文字列を取得します。
strrev: 文字列を反転します。
strspn: 文字列が別の文字列のマスク内に入る回数を見つけます。
strstr: 文字列内の文字列の先頭から末尾までの文字列を返します。
strtok: 文字列をカットします。
strto lower: すべての文字列を小文字に変換します。
strtoupper: 文字列をすべて大文字に変換します。
str_replace: 文字列の置換。
strtr: 特定の文字を変換します。
substr: 文字列の一部を取得します。
トリム: 文字列の先頭と末尾のスペースをトリムします。
ucfirst: 文字列の最初の文字を大文字に変更します。
ucwords: 文字列内の各単語の最初の文字を大文字にします。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629163.html技術記事 PHP では文字列を使用できます。一般的に使用されるのはシングルクォーテーションとダブルクォーテーションです。この 2 つは PHP5.3.0 以降で定義されています。 PHP の文字...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。