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);
?>
なお、文字列を日本語に変更するとどうなるのか、変更してスクリプトを実行してみます。
実行してみると、日本語が文字化けして出力されました。
コメント