\r\n\r\n

phpでテキストを操作するための9つの関数の使い方

phpでは、これらの9つの強力な関数を使って、切り取り、数え上げ、並べ替え、配列へのテキストの追加などを行うことができます...

文字列は、PHP を含む多くのプログラミング言語における基本的なスカラー型のひとつで、 1 文字からドキュメント全体までのさまざまなテキストデータを表します。

最も単純な文字列プログラミングでは、256種類の文字を表現できる1バイトのテキストを使用します。 エンコーディングはASCIIが最も一般的です。PHP のコア言語には、これらの文字列を操作するための便利な関数が多数用意されています。

文字列の内容を表示する方法

PHP でプログラミングをしたことがある人なら、 echo を目にしたことがあるかもしれません。実際、echoは言語の構成要素なので、たとえ実際の文字列関数よりも多く使ったとしても、関数の代わりに使えるとは限りません。

ほとんどこのような使い方をしていますね。

echo "Hello, world";

しかし、実際には関数のように呼び出すことができます。

echo("Hello, world");

このように見えるが、実は関数呼び出しではない。例えば、その戻り値を変数に代入することはできない。

$a = echo("Hello, world");Parse error: syntax error, unexpected 'echo' (T_ECHO)

文字列の値を出力するもう一つの方法は、printを使うことです。繰り返しますが、これは本当の関数ではありませんが、echoよりは関数に近いものです。echoと同様、括弧を付けずに呼び出すことも可能です。

print "Hello, world";

ただし、echoとは異なり、値は常に1ですが、指定できる値を返します。

$a = print("Hello, world");echo $a; // 1

1 実数関数を使って文字列を出力する

printf関数は、実は実関数なんです。echoやprintと同様に文字列を出力しますが、c言語の機能を反映した独自の動作があります。

$username = "John";$length = printf("Hello, %s", $username); // "Hello, John"echo $length; // 11

第一引数はやはり文字列で、二重の逆カンマで囲まれている。しかし、printfは文字列中の特殊文字の列に対して様々な置換を行う。これらの配列は、上記の%sと同様に、パーセント記号で始まります。この例では、%sは文字列を表し、printfはそれを次の引数である$usernameの値に置き換えます。

printf関数は、フォーマットされた文字列の長さという有用な値を返します。これは、例えばprintfに変数を渡すとき、長さがあらかじめわからないコードに便利です。この戻り値は、文字列がコマンドライン上でどのくらいの物理的なスペースを占めるかを判断するために使用することができます。

2文字列の長さを取得する

文字列の長さに関しては、標準的にはstrlen関数で決定されます。この関数は非常にシンプルで、文字列を引数に取り、バイト数を整数で返す。前述したように、ASCIIテキストの場合、バイト数は文字数と同じである。

$length = strlen("Hello, World");echo $length; // 12

III.文字列の一部を切り出す

文字列を扱う場合、その文字列の一部を取り出すという作業は非常によく行われます。この方法にはいくつかあり、ここで紹介する最初の方法は、希望する部分文字列の位置と長さを指定します。

$greeting = substr("Hello, World", 0, 5);echo $greeting; // "Hello"

多くのプログラミング言語と同様、PHP は文字列のオフセットを 0 から計算することに注意しましょう。 PHP がいくつかの言語と異なる点は、関数への第二引数が結果の文字列の長さになることです。

関連:最悪で最も難しいプログラミング言語

もうひとつの違いは、PHP が offset と length の負の値をサポートしていることです。オフセットが負の場合、結果は文字列の先頭からではなく、末尾からカウントされる。

$greeting = substr("Hello, World", -5, 5);echo $greeting; // "World"

長さが負の場合、含まれる文字数ではなく、削除された文字数を示す。

$greeting = substr("Hello, World", 0, -6);echo $greeting; // "Hello,"

4 文字列で検索

テキスト処理で重要なのは、ある文字列が他の文字列の中でどの位置にあるかを見つけることである。PHPでは、strpos関数でこれを行うことができます。

$pos = strpos("Hello, World", ",");echo $pos; // 5

strposとsubstrを併用することで、文字列の一部を抽出するためのより汎用的な方法を提供することができます:。

$string = "Hello, World";$pos = strpos($string, ",");$first_part = substr($string, 0, $pos);echo $first_part; // "Hello"

5 文字列の大文字小文字を変換する

伝統的なASCII文字列は大文字と小文字が明確に区別されている。ASCII文字列の各文字に対して、この操作を行うのである。

$original = "hello, WORLD";$upper = strtoupper($original);$lower = strtolower($original);echo "$lower $upper"; // "hello, world HELLO, WORLD"

6 ギャップをなくす

時々、先頭または末尾のスペース:空白、タブ、改行を含む文字列を取得することがあります。通常は必要ありませんが、トリミングすることで解消されます:。

$trimmed = trim(" Hello, World ");echo $trimmed; // "Hello, World"

7 セパレーターで行を区切る

ブラスト機能は危険な感じがしますが、後遺症は残りませんのでご安心くださいその代わり、文字列を別の文字列(通常は1文字)で区切った文字列の配列に変換する。例えば、文章をいくつかの単語に分割したい場合などに便利です。

$sentence = "The quick brown fox jumps over the lazy dog";$words = explode(" ", $sentence);

変数$wordsは、1つの単語を含む配列になりました。

[ "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" ]

8 文字列を固定長の部分文字列に分解する。

explodeと同様に、strouble関数は文字列をより小さな文字列の配列に分割する。explodeとは異なり、最終的な文字列はその内容ではなく、その長さによって決定される。

$parts = str_split("Hello, World", 6);

配列 $parts には、それぞれ 6 文字の長さの 2 つの部分文字列が含まれるようになりました。

[ "Hello,", " World" ]

9 文字列の検索と置換

文字列の検索と置換は、strongu replace を使って簡単に行うことができます。検索する文字列、置換する文字列、検索する元の文字列の3つの引数を取る。この関数は新しい文字列を返します。

$result = str_replace("o", "OO", "Hello, World");echo $result; // "HellOO, WOOrld"

php には、便利なテキスト処理メソッドが多数用意されています。

PHPはWeb開発でよく使われるため、テキストを扱うことはよくある作業です。

ここで紹介する関数は、PHP を使ってテキストを処理する際に最も役に立つ関数の一つです。PHP という言語自体には、100 ほどの文字列処理関数が組み込まれています。

PHP は Unicode やその他のマルチバイト文字エンコーディングもサポートしており、 それらについては別の関数群を用意しています。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ