テクノロジー
2023年1月1日文字列型
文字列の型の種類が理解できるようになる
目次
文字列型
文字列の結合
シングルクォートとダブルクォートの違い
文章を変数に入れるときのさまざまな方法
string型を操作する関数
trim
substr
strlen
まとめ
公式ドキュメント・参考情報
文字列型
文字列のリテラルは、 ‘A’ や “A” のようにクォーテーションで囲みます。クォーテーションで囲まれた文字は、文字列と認識され、string
型のデータ型となります。
文字列の結合
文字列は、.
を使って文字列と文字列や、文字列と数値を連結できます。
[例]
<?php
echo 'A' . 'BC' . PHP_EOL;
echo 'A' . 1 . PHP_EOL;
[実行結果]
ABC
A1
シングルクォートとダブルクォートの違い
文字列を囲う記号は、シングルクォート、ダブルクォートのどちらでも可能です。
しかし、式展開や改行文字を使うときには、ダブルクォートを使う必要があります。
[例]
<?php
$greeting = 'Hello';
echo "{$greeting}\nWorld\n"; // greetingを式展開し、\nを改行文字として出力
echo '{$greeting}\nWorld'; // greetingを式展開せず、\nは文字としてそのまま出力
[実行結果]
Hello
World
{$greeting}\nWorld
文章を変数に入れるときのさまざまな方法
ヒアドキュメントは、改行やホワイトスペースなどが書いたとおりに適用される方法で、複数行に渡る長い文字列を作成する場合に活用できます。<<<
という識別子を使い、<<<
の後ろにヒアドキュメントの始まりと終わりを示す文字列の識別子を記述します。ホワイトスペースとは、空白や改行として認識される文字を指します。
以下の例では、よく利用されるEOS
(End Of String)という識別子を使っていますが、始まりと終わりが統一されていればEOS
以外の文字も利用可能です。
[例]
<?php
echo <<<EOS
Hello
World
EOS . PHP_EOL;
[実行結果]
Hello
World
改行やインデントが反映されています。
また、ヒアドキュメントでも式展開を行うことができます。
[例]
<?php
$greeting = 'Hello';
echo <<<EOS
"{$greeting}"
World
EOS .PHP_EOL;
[実行結果]
"Hello"
World
識別子となる文字列にシングルクォートをつけると、式展開されなくなります。
識別子となる文字列にクォートをつけないか、ダブルクォートをつけると式展開されます。
式展開したくない時だけシングルクォートをつける、と覚えておけばよいでしょう。
[例]
<?php
$greeting = 'Hello';
echo <<<'EOS'
"{$greeting}"
World
EOS . PHP_EOL;
[実行結果]
"{$greeting}"
World
string型を操作する関数
string
型のデータに対してさまざまな操作を行うための関数が用意されています。
よく使われるものを紹介します。
trim
trim
関数は、文字列の先頭および末尾の空白を取り除いた値を返します。
文字列の終端が "\r\n"
であればその2文字を取り除きます。
[例]
<?php
echo trim("abc\n ") . PHP_EOL;
[実行結果]
abc
substr
substr
は文字列の一部を抽出するために使用されます。
例えば、文字列のインデックスが2の位置から2文字のみを抽出したい場合、以下のように記述します。
[例]
<?php
echo substr('abcde', 2, 2) . PHP_EOL;
[実行結果]
cd
strlen
strlen
は、文字列の文字数を返します。
[例]
<?php
echo strlen('abcde') . PHP_EOL;
[実行結果]
5
まとめ
- 文字列はすべてstring型のデータとして認識される。
- 式展開をや改行文字を使う場合は、ダブルクォートを使用する。
- string 型を操作するためのさまざまな関数が用意されている。