検索
ホームページバックエンド開発PHPチュートリアルPHP文字列操作入門チュートリアル_PHPチュートリアル

PHP文字列操作入門チュートリアル_PHPチュートリアル

Jul 21, 2016 pm 03:59 PM
php入門チュートリアルベース操作するはい単純言語重要

言語に関係なく、文字列操作は重要な基礎であり、多くの場合単純かつ重要です。人間の音声と同じように、一般に形式 (グラフィカル インターフェイス) と言語 (印刷文字列?) があり、文字列でさらに多くのことを説明できます。 PHP には、強力で比較的簡単に使用できる文字列操作関数が多数用意されています。詳細については、http://cn2.php.net/manual/zh/ref.strings.php を参照してください。以下に簡単に説明します。その機能と特徴。

弱い型

PHP は弱い型指定の言語であるため、他の型のデータは通常、文字列操作関数に直接適用でき、処理のために次のような文字列型に自動的に変換されます。


echo substr("1234567" , 1 , 3);

echo substr(123456,1, 3);
は同じです


定義

は通常、文字列を識別するために二重引用符または一重引用符を使用します。たとえば、


$str = "i love u";
$str = 'i love u'

両者にはいくつかの違いがあります。後者はすべての一重引用符の内容を文字として扱いますが、前者は扱いません。たとえば、


$test = "iwind";
$str = "i love $test"; // i love $test を取得します。 ; // i love $test が得られます

次の 2 つの例の動作も異なります:


echo "i love test" // t はエスケープとして扱われます
; echo 'i love test'; // i love test が得られます

したがって、二重引用符で囲まれた内容は「説明済み」であり、一重引用符で囲まれた内容は「表示されている内容がそのままである」と単純に考えることができます。 get" (特に、'' は '' として認識されます)。明らかに、二重引用符の形式はより柔軟です。もちろん、ここでは説明しませんが、いくつかの特別な場合には一重引用符の方が適しています。

出力

PHP で最も一般的に使用される出力は echo と print です。どちらも実際の関数ではなく、言語構造であるため、呼び出し時に二重括弧を使用する必要はありません (


echo("test") など)。 ;print ("test")) 出力時に両方に値を割り当てることができます:
echo $str="test"; //一方では test が出力され、他方では "test" が割り当てられます。文字列変数 $str へ
print $ str="test";

名前の違いに加えて、この 2 つは他にも違いがあります。 print には戻り値があり、常に 1 が返されますが、echo には戻り値がありません。したがって、echo は print よりも高速です:


$return = print "test"; // 出力 1

このため、print は実行できます。複合ステートメントでは使用できますが、echo は使用できません:


isset($str) または print "str 変数が定義されていません" // 出力は "str 変数が定義されていません"
isset($str) または echo "str 変数は定義されていません" Definition ";// 分析エラーが表示されます



echo は一度に複数の文字列を出力できますが、print はできません:
echo "i ","love ","iwind"; // 出力は "i"; love iwind "
print "i ","love ","iwind"; // エラーが表示されます


echo、print は「ドキュメント構文」と呼ばれる文字列も出力できます、構文は次のとおりです:
echo ...
文字列内容
...
タグ名;
例:


echo 2 つのラベル名は同じであり、後者のラベル名の前には空白があってはなりません。 、正方形のフォーマットで書く必要があります。ドキュメント構文出力の内容は変数名と一般的な記号を識別します。これは二重引用符の機能とほぼ同じです。

echo と print の出力に加えて、PHP は printf、sprintf、vprintf、vsprintf などの文字列をフォーマットするための関数も提供しますが、ここでは詳しく説明しません。
接続

「.」演算子を使用して 2 つ以上の文字列を接続し、文字列の順序で新しい文字列を形成します。


$str = "i " . "iwind";
$str ここは "i love iwind" です。もちろん、.= 演算子も使用できます:
$str = ""; // 初期化
$str .= "i love iwind";

未定義の変数を使用するとエラーが発生するため、ここでは初期化が使用されます。 "" または null は単に空の文字列を表すことができます。

Length

PHP は文字列の長さを計算する strlen 関数を提供します:


$str = "test";
echo strlen($str) // strlen が 4 を出力するのは少し奇妙です。漢字と同等である必要があり、全角文字は 2 または 4 の長さとしてカウントされます。幸いなことに、次の 2 つの関数 mbstring または icon がこの問題の解決に役立ちます。


$len = iconv_strlen($str, "GBK"); : mbstring モジュールには、マルチバイト文字を含む文字列に対する処理関数が多数用意されています。この記事は文字列の入門に関するものであるため、詳細は説明しません。

分離と連結

PHP では、区切り文字に従って文字列を配列に分割したり、配列を文字列に結合したりすることができます。次の例を見てください:


$str = "i love iwind";
$array =explode(" ", $str);

上記のexplode関数は、$str文字列をスペース文字で区切ります。配列 $array:array("i", "love", "iwind")。explode 関数に似た関数には、preg_split()、spliti()、split() などの関数があります。

対照的に、implode と join は、配列を文字列に結合することができ、まったく同じ機能を持つ関数です。


$array = array("i", "love", "iwind");
$str = implode(" ", $array);

この例の implode 関数は、配列 $array の各要素を使用します。スペース文字を使用して接続し、文字列 $str: "i love iwind" を返します。

Crop

文字列の先頭と末尾は必要な部分ではない場合があるため、trim、rtrim、ltrim などの関数を使用できます。 、それぞれ、文字列の両端からスペース、文字列の末尾からスペース、文字列の先頭からスペースを削除します。


echorim(" i love iwind "); // "i love iwind" が得られます
echo rtrim(" i love iwind ") // あなたは "i love iwind" を取得します
echo ltrim(" i love iwind "); // "i love iwind " が得られます

実際、これら 3 つのパラメータは文字列の先頭と末尾のスペースを削除するだけでなく、2 番目のパラメータで指定された文字も削除できます。 as:


echo Trim(" ,1,2,3,4,", ","); // 両端の "," の数字が切り取られた 1,2,3,4 が得られます。

Chop 関数を使用している人を時々見かけますが、実際には、これは rtrim と同義の関数です。
大文字

英語の文字の場合、strtoupper と strto lower を使用して大文字または小文字に変換できます。


echo strtoupper("i love iwind"); // I LOVE IWIND を取得します
echo strto lower("I LOVE IWIND") // i love iwind を取得します

通常は != を使用できます。 = = 2 つのオブジェクトが等しいかどうかを比較します。これらが 2 つのオブジェクトである理由は、それらがすべて文字列である必要はなく、整数などの場合もあるためです。たとえば、


$a = "ジョー";
$b = "ジェリー";
if ($a != $b)
{
echo "等しくない"
}
else
{
echo "等しい"; ;
}

!==,=== (余分な等号が表示されます) を使用して比較する場合、true を返すには 2 つのオブジェクトの型が厳密に等しい必要があります。そうでない場合は、==,!=, を使用します。文字列は比較のために自動的に対応する型に変換されます


22 == "22"; // true を返します
22 === "22"; // このため、プログラムでは次のような問題が頻繁に起こります。予期せぬ "事故":
0 == "I love you"; // Return true
1 == "1 I love you" // Return true

PHP 関数には、このようなグループもあります。 、strcasecmp、strncasecmp()、strncmp()、前者が後者より大きい場合はすべて 0 より大きい整数を返し、前者が後者より小さい場合は 0 より小さい整数を返します。比較の原理は他の言語と同じです。
strcmp は、大文字と小文字を区別する (つまり、大文字と小文字を区別する) 文字列比較に使用されます。


echo strcmp("abcdd", "aBcde") // "b" と "B" を比較し、1 (>0) を返します。

strcasecmp は、大文字と小文字を区別しない文字列比較に使用されます:


echo strcasecmp("abcdd", "aBcde") // "d" と "e" を比較し、-1 (

echo strncmp("abcdd", "aBcde", 3) ; // 1 を返します。 0)、abc と aBc を比較します

strncasecmp は、大文字と小文字を区別せずに文字列の先頭から開始して文字列の一部を比較するために使用されます。3 番目のパラメータは比較する長さです :


echo strncasecmp("abcdd", "aBcde", 3); // abc と aBc を比較すると、大文字と小文字が区別されず同じであるため、0 を返します。

文字列のサイズを単純に比較するだけでは、あらかじめ決められた要件を満たせない場合もあります。たとえば、通常どおり、10.gif は 5.gif よりも大きくなりますが、上記の関数を適用すると -1 が返されます。この状況に対して、PHP は 2 つの対照的な関数 strnatcmp と strnatcasecmp を提供します。


echo strnatcmp("10.gif", "5.gif"); // Return 1 ( >) ;0)
echo strnatcasecmp("10.GIF", "5.gif"); // Return 1 (>0)

置換

置換の意味は、文字列の一部を変更して、新しい要件を満たす新しい文字列。 PHPでは通常、str_replace("置換する内容","元の内容を置換する文字列","元の文字列")を使って置換します。


echo str_replace("iwind", "kiki", "i love iwind, iwind saw"); // "i love kiki, kiki had been" を出力します
元の文字列内のすべての "iwind" を "kiki" に置き換えます

str_replace は大文字と小文字を区別するため、str_replace("IWIND", "kiki",...) を使用して元の文字列の "iwind" を置き換えることはできません。

str_replace も多対実装できます。 -1 つの多対多の置換ですが、1 対多の置換は実現できません:


echo str_replace(array("iwind", "kiki"), "people", "i love kiki, iwind thought" );
出力します
私は人が好きです、と言った
最初のパラメータのarray("iwind", "kiki") は "people" に置き換えられます

echo str_replace(array("iwind", "kiki" ), array (「優しい男性」、「女性」)、「私はキキが好きです、と言いました」)
出力 私は女性が大好きです、優しい男性は言いました。つまり、最初の配列の要素が 2 番目の配列の対応する要素で置き換えられ、一方の配列の要素が他方の配列よりも少ない場合、残りの要素は空として扱われます。

これに似ているのは strtr です。使用法についてはマニュアルを参照してください。

さらに、PHP では文字列の一部を置換する substr_replace も提供されています。構文は以下の通りです:
substr_replace (元の文字列, 置換される文字列, 置換開始位置[, 置換長])
このうち、置換開始位置は0から計算され、元の文字列の長さより小さくなければなりません。交換する長さはオプションです。
echo substr_replace("abcdefgh", "DEF", 3); // "abcDEF" を出力します
echo substr_replace("abcdefgh", "DEF", 3, 2) // "abcDEFfgh" を出力します
この例では、置換は 3 番目の位置 (つまり "d") から始まり、したがって "defgh" が "DEF" に置き換えられます
2 番目の例では、置換も 3 番目の位置 (つまり "d") から始まりますが、 2 つの長さ、つまり e のみを置き換えるので、「de」は「DEF」に置き換えられます。

PHP では、正規表現を適用して文字列を完全に置換するための preg_replace、preg_replace_callback、ereg_replace、eregi_replace などの関数も提供されています。使用方法の説明書。
検索と一致

PHP には検索、一致、または位置決めのための関数が多数あり、それらはすべて異なる意味を持っています。ここでは、一般的に使用される strstr と stristr のみについて説明します。後者と前者の関数と戻り値は同じですが、大文字と小文字は区別されません。
strstr("Mother string", "Substring") は、母文字列内で部分文字列が最初に出現する位置を検索するために使用され、母文字列内の部分文字列の先頭から母文字列の末尾までの回数を返します。文字列の部分。例:


echo strstr("abcdefg", "e"); //「efg」を出力します
部分文字列が見つからない場合は空を返します。
$needle = "iwind";
$str = "i love iwind";
if (strstr($str, $needle))
{
echo "There iwind inside はあります";
}
else
{
Echo "There is no iwind inside";
}
「iwind inside」と出力されます

HTML 関連

1,htmlspecialchars($string)

これがその内容です最も簡単な使用法は、文字列内のいくつかの特殊文字 (名前が示すように) &、'、" を、対応する HTML エンティティ形式に変換することです:


$str = "i love kiki、iwind は言った。";
echo htmlspecialchars($str);


i love kiki、iwind が言った

はすべての文字を変換します。

3,html_entity_decode($string);

PHP4.3.0以降に追加された、htmlentities($string)

4,nl2br($string);
Convert文字列内のすべての改行文字は + 改行文字に変換されます。 例:


$str = "i love kiki,n iwind had."; と出力されます。 kiki、

iwind は言いました。

暗号化

最も一般的に使用される暗号化文字列は、文字列を 32 ビットの一意の文字列に変換します


echo md5 ("i love iwind"); "2df89f86e194e66dc54b30c7c464c21c"

PHP5 は、16 ビットの暗号化された文字列を出力できるように、md5 に 2 番目のパラメーターを追加します

ここで、この文字列 入門チュートリアルは終了しましたが、上記は氷山の一角にすぎません。 PHP5 には多くの新機能が追加されているため、使いこなすには引き続き学習する必要があります。



http://www.bkjia.com/PHPjc/317290.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/317290.html技術記事言語に関係なく、文字列操作は重要な基礎であり、多くの場合単純かつ重要です。人間の音声と同じように、一般的には本体 (グラフィカル インターフェイス) と言語 (印刷文字列?) があります...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
誇大広告を超えて:今日のPHPの役割の評価誇大広告を超えて:今日のPHPの役割の評価Apr 12, 2025 am 12:17 AM

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPの弱い参照は何ですか、そしていつ有用ですか?PHPの弱い参照は何ですか、そしていつ有用ですか?Apr 12, 2025 am 12:13 AM

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

PHPで__invoke Magicメソッドを説明してください。PHPで__invoke Magicメソッドを説明してください。Apr 12, 2025 am 12:07 AM

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

同時性については、PHP 8.1の繊維を説明します。同時性については、PHP 8.1の繊維を説明します。Apr 12, 2025 am 12:05 AM

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティ:リソース、サポート、開発PHPコミュニティ:リソース、サポート、開発Apr 12, 2025 am 12:04 AM

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP対Python:違いを理解しますPHP対Python:違いを理解しますApr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHP:それは死にかけていますか、それとも単に適応していますか?PHP:それは死にかけていますか、それとも単に適応していますか?Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの未来:適応と革新PHPの未来:適応と革新Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター