ホームページ バックエンド開発 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 (<0) を返します。文字列の先頭から開始して文字列の一部を比較するために使用されます。 3 番目のパラメータは比較する長さです。


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文字列内のすべての改行文字は < br /> + 改行文字に変換されます。 例:


$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 までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles