PHPで文字列の操作をする

PHPで文字列の操作をしてみます。

■環境

・Windows10

・WampServer Version 3.2.3 64bit

・PHP Version 7.3.21

■文字列の長さの計算する

まずは、PHPで文字列の長さの計算してみます。

■コード

<?php

$moji = 'こんにちは、世界';

echo strlen($moji);

?>

今回は、mojiという変数を定義し、その中に文字列を記述し、格納します。

格納後、echo文でstrlen()関数を使用します。括弧内にはmojiという変数を指定します。これで文字列の長さの計算することができます。

■実行

では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。

実行させてみると、「24」と出力されました。「こんにちは、世界」という日本語であれば、「、」も含めると「8」文字になりますが、UTF-8バイト数でカウントされるために「24」というバイト数(文字数)になります。

■文字列内の単語数を数える

次に、PHPで文字列内の単語数を数えてみます。

■コード

<?php

$moji = 'There are apples, peaches, grapes and bananas here.';

echo str_word_count($moji);

?>

先ほど、同じようにmojiという変数を定義し、その中に文字列を記述し、格納します。

格納後、echo文でstr_word_count()関数を使用します。括弧内にはmojiという変数を指定します。これで文字列内の単語数を数えることができます。

■実行

では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。

実行させてみると、「There are apples, peaches, grapes and bananas here.」の文字列内の単語数は「8」であることが出力できました。

■日本語の場合

<?php

$moji = 'ここにはリンゴ、桃、ブドウ、バナナがあります。';

echo str_word_count($moji);

?>

なお、文字列を日本語に変更して、スクリプトを実行してみます。

■実行

実行してみると、「0」と出力されました。日本語は、str_word_count()関数では認識してくれない。

■文字列内のテキストを置換する

では、次にPHPで文字列内のテキストを置換してみます。

■コード

<?php

$moji = 'There are apples, peaches, grapes and bananas here.';

echo str_replace("apples","strawberries", $moji);

?>

先ほど、同じようにmojiという変数を定義し、その中に文字列を記述し、格納します。

格納後、echo文でstr_replace()関数を使用します。括弧内の第1の引数には文字列内にある単語を指定します。今回は「apples」を指定しています。

第2の引数では、置換した後の単語(テキスト)を記述します。今回は「apples」を「strawberries」に置換するため、指定しています。

第3の引数では、今回のmojiという変数を指定します。これで文字列内のテキストを置換することができます。

■実行

では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。

実行してみると、「There are apples, peaches, grapes and bananas here.」の文字列で「apples」というテキスト(単語)が置換されて出力できました。

■日本語の場合

<?php

$moji = 'りんご、桃、ぶどう、バナナがあります。';

echo str_replace("りんご","梨", $moji);

?>

なお、文字列を日本語に変更するとどうなるのか、変更してスクリプトを実行してみます。

実行してみると、文字列が日本語であっても、テキスト(単語)を置換することができました。

■文字列を逆にする

では、次にPHPで文字列を逆にしてみます。

■コード

<?php

$moji = 'There are apples, peaches, grapes and bananas here.';

echo strrev($moji);

?>

先ほど、同じようにmojiという変数を定義し、その中に文字列を記述し、格納します。

格納後、echo文でstrrev()関数を使用します。括弧内には今回のmojiという変数を指定します。

これで文字列を逆にすることができます。

■実行

では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。

実行してみると、文字列が逆になり出力されました。

■日本語の場合

<?php

$moji = 'りんご、桃、ぶどう、バナナがあります。';

echo strrev($moji);

?>

なお、文字列を日本語に変更するとどうなるのか、変更してスクリプトを実行してみます。

実行してみると、日本語が文字化けして出力されました。

コメント

タイトルとURLをコピーしました