Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】ltrim()関数の使い方

ltrim関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

ltrim関数は、指定された文字列の先頭(左側)から特定の文字を取り除いた新しい文字列を生成して返す関数です。主に、文字列の先頭にある不要な空白文字や記号などをクリーンアップする目的で使用されます。

この関数は、最初の引数として加工したい文字列を受け取ります。例えば、ユーザーがフォームに入力したデータや、ファイルから読み込んだテキストの先頭に、意図しないスペースや改行文字が含まれている場合に、それらを簡単かつ確実に取り除くことができます。

2番目の引数はオプションで、取り除きたい文字の集合を指定します。この引数を省略した場合、ltrim関数はデフォルトで、半角スペース、タブ(\t)、改行(\n)、キャリッジリターン(\r)、ヌルバイト(\0)、垂直タブ(\v)を文字列の先頭から取り除きます。もし、これらのデフォルト文字以外に、例えばスラッシュ(/)やハイフン(-)といった特定の記号を取り除きたい場合は、2番目の引数としてそれらの文字を指定します。指定された文字が文字列の先頭に連続して存在する場合、それらすべてが除去されます。

ltrim関数は、元の文字列そのものを変更するのではなく、加工済みの新しい文字列を戻り値として返します。このため、元の文字列はそのまま保持され、必要に応じて加工後の文字列を利用できます。例えば、「 Hello PHP」という文字列にltrim関数を適用すると、「Hello PHP」という新しい文字列が返されます。

構文(syntax)

1<?php
2
3$trimmed_string = ltrim($string, $characters);

引数(parameters)

string $string, string $characters = " \n\r\t\v\0"

  • string $string: 文字列の先頭から指定された文字を削除した結果を返します。
  • string $characters = " \n\r\t\v\0": $string の先頭から削除する対象となる文字を指定します。省略された場合は、空白文字、改行、キャリッジリターン、タブ、垂直タブ、NULL文字が対象となります。

戻り値(return)

string

文字列の先頭から指定された文字が削除された新しい文字列を返します。指定された文字が文字列の先頭にない場合、または指定文字が空の場合は、元の文字列がそのまま返されます。

サンプルコード

PHP ltrimで先頭の0を取り除く

1<?php
2
3/**
4 * 文字列の先頭から '0' を取り除くサンプルコード
5 *
6 * ltrim() は、文字列の左側 (先頭) から指定した文字を取り除きます。
7 * キーワード '0' に関連し、商品コードやゼロ埋めされた数値文字列の
8 * 先頭の '0' を削除する例を示します。
9 *
10 * @param string $code 処理対象の文字列
11 * @return void
12 */
13function removeLeadingZeros(string $code): void
14{
15    echo "元のコード: " . $code . PHP_EOL;
16
17    // ltrim() 関数の第2引数に '0' を指定します。
18    // これにより、文字列の先頭にある '0' がすべて取り除かれます。
19    $trimmedCode = ltrim($code, '0');
20
21    echo "ltrim() 実行後のコード: " . $trimmedCode . PHP_EOL;
22}
23
24// 先頭に '0' が複数含まれるサンプル文字列
25$productCode = '00054321';
26
27// 関数を呼び出して実行します
28removeLeadingZeros($productCode);
29
30?>

PHPのltrim関数は、文字列の左側、つまり先頭から不要な文字を取り除くための関数です。

第1引数には、処理対象となる文字列を指定します。サンプルコードでは、'00054321'という商品コードがこれに該当します。

第2引数には、取り除きたい文字を指定します。この引数を指定しない場合、デフォルトでスペースや改行などの空白文字が削除されます。このサンプルでは、キーワードである'0'を明示的に指定しています。これにより、ltrim関数は文字列の先頭にある'0'のみを削除の対象とします。

この関数を実行すると、第1引数の文字列の先頭から、第2引数で指定された文字が連続する限りすべて削除されます。サンプルコードの'00054321'の場合、先頭の3つの'0'が取り除かれ、'0'以外の文字である'5'が現れた時点で処理は停止します。

戻り値として、処理が完了した後の新しい文字列が返されます。この例では'54321'という文字列が返却されます。元の文字列自体が変更されることはありません。このようにltrim関数は、ゼロ埋めされた数値データの整形などに活用できます。

ltrim関数は、文字列の先頭から、第2引数で指定された文字が連続する限りすべて取り除きます。文字列の途中にある同じ文字は削除されない点に注意してください。第2引数に'10'のように複数の文字を指定した場合、'1'と'0'のいずれかの文字が先頭から続く限り削除されます。'10'という文字列単位で探すわけではありません。第2引数を省略すると、スペースや改行などの空白文字がデフォルトの削除対象となります。この関数は元の文字列を変更せず、処理後の新しい文字列を返すため、必ず変数に代入するなどして結果を受け取る必要があります。また、'0'のような文字列全体が削除対象文字のみで構成されている場合、結果は空文字列になります。

PHP ltrimで複数文字を削除する

1<?php
2
3/**
4 * ltrim() 関数は、文字列の左端から指定された文字 (またはデフォルトでは空白文字) を取り除きます。
5 * この例では、複数の異なる文字をまとめて削除する方法を示します。
6 *
7 * システムエンジニアを目指す初心者の方へ:
8 * データベースからのデータやユーザー入力など、外部から取得した文字列の先頭に、
9 * 不要な空白や記号などが付いている場合によく利用されます。
10 * 例えば、ファイル名やコードの識別子などから特定のプレフィックスを削除する際にも便利です。
11 */
12
13// 処理対象となる元の文字列を定義します。
14// 先頭には、スペース、タブ、改行、'#'、'*' といった複数の不要な文字が含まれています。
15$originalString = " \t\n##** PHP ltrim 関数を使った複数文字のトリム例です。";
16
17// ltrim() 関数を使って、文字列の左端から指定した複数の文字を削除します。
18// 第二引数に、削除したい文字をすべて連結した文字列として渡します。
19// ここでは、半角スペース、タブ (\t)、改行 (\n)、'#'、'*' を削除対象として指定しています。
20$trimmedString = ltrim($originalString, " \t\n#*");
21
22// 元の文字列とトリム後の文字列を表示して、結果を比較します。
23// シングルクォーテーションで囲むことで、空白文字が削除されたことを視覚的に確認しやすくしています。
24echo "元の文字列      : '" . $originalString . "'\n";
25echo "トリム後の文字列: '" . $trimmedString . "'\n";
26
27echo "\n"; // 出力を見やすくするための改行
28
29// 別の例:数字とハイフンをトリムする場合
30$dataCode = "---123XYZデータ";
31$cleanedCode = ltrim($dataCode, "-123");
32
33echo "別の元の文字列      : '" . $dataCode . "'\n";
34echo "別のトリム後の文字列: '" . $cleanedCode . "'\n";
35
36?>

PHPのltrim関数は、文字列の左端から不要な文字を取り除くために使用される関数です。この関数は、最初の引数$stringとして処理対象の文字列を受け取り、2番目の引数$charactersに削除したい文字を文字列として指定します。$charactersが省略された場合、半角スペース、タブ、改行などの空白文字がデフォルトで削除されます。処理の結果、左端の指定された文字が削除された新しい文字列が戻り値として返されます。

サンプルコードでは、ltrim関数を使って文字列の先頭から複数の種類の文字を一度に削除する方法を示しています。例えば、$originalStringの先頭にあるスペース、タブ、改行、#*といった文字を、" \t\n#*"という文字列を第二引数に渡すことで一括して取り除いています。これにより、元の文字列 ' \t\n##** PHP ltrim 関数を使った複数文字のトリム例です。''PHP ltrim 関数を使った複数文字のトリム例です。' と整形されます。

システム開発においては、データベースから取得したデータやユーザーからの入力など、外部から渡される文字列の先頭に不要な空白や特定の記号が付いている場合に、データをクリーンにする目的で頻繁に利用されます。例えば、ファイル名から特定のプレフィックスを削除したり、コードの識別子を整形したりする際に便利です。別の例として、コードから数字やハイフンを削除して純粋なテキスト部分を取り出す場合にも活用できます。このように、ltrim関数は文字列データの整形において非常に役立つ機能です。

ltrim関数の第二引数には、文字列の左端から削除したい文字をすべて連結した文字列として渡します。この際、指定された文字の順番は削除結果に影響しません。本関数は、文字列の左端から指定された文字のいずれかが連続している間のみ削除を続けますが、指定されていない文字が現れるとそこで処理を停止します。

文字列の右端を削除したい場合はrtrim関数、両端を削除したい場合はtrim関数と、用途に応じて使い分けましょう。また、削除対象の文字は大文字と小文字が区別されます。例えば「A」と「a」は異なる文字として扱われますので、意図しない結果にならないよう注意が必要です。

PHP ltrim 関数で文字列左端を削除する

1<?php
2
3/**
4 * ltrim関数の基本的な使い方を示すサンプルコードです。
5 * 文字列の左端から指定された文字を削除します。
6 * 指定がない場合は、デフォルトで空白文字(スペース、タブ、改行など)を削除します。
7 */
8
9// 1. 引数を指定しない場合:デフォルトで空白文字を削除
10//    文字列の左端にある半角スペース、タブ、改行などを取り除きます。
11$originalString1 = "   Hello PHP!   ";
12$trimmedString1 = ltrim($originalString1);
13echo "元の文字列 (空白あり): '" . $originalString1 . "'\n";
14echo "ltrim後 (デフォルトの空白削除): '" . $trimmedString1 . "'\n\n";
15
16// 2. 特定の文字を指定して削除
17//    指定した文字列に含まれる文字が、元の文字列の左端にある限り削除されます。
18$originalString2 = "---Data Value---";
19$trimmedString2 = ltrim($originalString2, "-"); // 左端のハイフンを削除
20echo "元の文字列 (ハイフンあり): '" . $originalString2 . "'\n";
21echo "ltrim後 (ハイフン削除):      '" . $trimmedString2 . "'\n\n";
22
23// 3. 複数の特定の文字を指定して削除
24//    指定された文字群("/ ")に含まれる文字が左端にある限り削除されます。
25$originalString3 = "/ / /  Start Here";
26$trimmedString3 = ltrim($originalString3, "/ "); // スラッシュとスペースを削除
27echo "元の文字列 (スラッシュとスペースあり): '" . $originalString3 . "'\n";
28echo "ltrim後 (スラッシュとスペース削除):      '" . $trimmedString3 . "'\n\n";
29
30// 4. 指定した文字が左端にない場合:何も削除されない
31//    'N'の次の文字が'o'であるため、'N'のみが削除されます。
32$originalString4 = "No leading chars.";
33$trimmedString4 = ltrim($originalString4, "N");
34echo "元の文字列 (Nで始まる): '" . $originalString4 . "'\n";
35echo "ltrim後 (N削除):      '" . $trimmedString4 . "'\n\n";
36
37//    この例では、指定した文字"-"が左端にないため、何も削除されません。
38$originalString5 = "No leading chars.";
39$trimmedString5 = ltrim($originalString5, "-");
40echo "元の文字列 (ハイフンなし): '" . $originalString5 . "'\n";
41echo "ltrim後 (ハイフン指定で削除試行):      '" . $trimmedString5 . "'\n\n";
42
43?>

PHPのltrim関数は、文字列の先頭(左側)から不要な文字を取り除くための関数です。

第1引数には処理対象の文字列を渡します。第2引数には削除したい文字を文字列で指定しますが、この引数は省略可能です。処理後、不要な文字が取り除かれた新しい文字列が戻り値として返されます。元の文字列自体は変更されません。

第2引数を省略すると、デフォルトで半角スペース、タブ、改行などの空白文字が削除対象となります。サンプルコードの例では、" Hello PHP! "という文字列の先頭の空白だけが取り除かれています。

第2引数に特定の文字、例えば"-""/ "を指定すると、指定した文字群に含まれるいずれかの文字が、文字列の先頭から連続している限り削除されます。例えば"---Data Value---"から"-"を取り除くと、先頭のハイフンだけが削除され"Data Value---"となります。文字列の途中に指定文字があっても、先頭から連続していなければ削除は行われません。また、指定した文字が文字列の先頭に一つも存在しない場合は、何も変更されません。

ltrim関数を使う際の注意点として、第2引数に指定した文字列は、その文字列全体として一致するかどうかではなく、そこに含まれる個々の文字が削除対象になることを覚えておきましょう。例えば"AB"と指定すると、文字列の先頭からAまたはBが続く限り削除されます。この処理は文字列の左端(先頭)のみに適用され、右端の文字は削除されません。右端や両端の空白などを削除したい場合は、それぞれrtrim関数やtrim関数を使用してください。また、この関数はバイト単位で動作するため、日本語などのマルチバイト文字を削除文字として指定すると文字化けの原因となる可能性があるため注意が必要です。

PHP ltrim 関数で文字列の左端を整形する

1<?php
2
3/**
4 * ltrim関数の基本的な使用例を示します。
5 * 文字列の左端から指定された文字を削除します。
6 * システムエンジニアを目指す初心者の方にも分かりやすいよう、
7 * 様々なパターンで文字列の整形を行います。
8 */
9function demonstrateLtrimUsage(): void
10{
11    // 例1: デフォルトの挙動 - 先頭の空白文字(スペース、タブ、改行など)を削除
12    // この場合、引数 $characters は省略され、標準の空白文字が対象になります。
13    $rawString1 = "   Hello PHP World!   ";
14    $trimmedString1 = ltrim($rawString1);
15    echo "元文字列 (空白あり):      '" . $rawString1 . "'\n";
16    echo "ltrim (デフォルト):       '" . $trimmedString1 . "'\n\n";
17
18    // 例2: 特定の文字を削除 - 先頭のハイフン (-) を削除
19    // 引数 $characters に削除したい文字を文字列として指定します。
20    $rawString2 = "---My Word Processing---";
21    $trimmedString2 = ltrim($rawString2, "-");
22    echo "元文字列 (ハイフンあり):  '" . $rawString2 . "'\n";
23    echo "ltrim ('-' 指定):         '" . $trimmedString2 . "'\n\n";
24
25    // 例3: 複数の異なる文字を削除 - 先頭の記号 (@#!) とスペースを削除
26    // 引数 $characters には、削除したい複数の文字をまとめて指定できます。
27    // ここでは '@', '#', '!', ' ' のいずれかが先頭にあれば削除されます。
28    $rawString3 = "@#! Important keyword";
29    $trimmedString3 = ltrim($rawString3, "@#! ");
30    echo "元文字列 (記号あり):      '" . $rawString3 . "'\n";
31    echo "ltrim ('@#! ' 指定):      '" . $trimmedString3 . "'\n\n";
32
33    // 例4: 削除対象の文字が先頭にない場合
34    // 先頭に指定した文字がない場合、文字列は変更されません。
35    $rawString4 = "Data for analysis.";
36    $trimmedString4 = ltrim($rawString4, "-+");
37    echo "元文字列 (削除対象なし):  '" . $rawString4 . "'\n";
38    echo "ltrim ('-+' 指定):        '" . $trimmedString4 . "'\n\n";
39}
40
41// 関数を実行して結果を表示します。
42demonstrateLtrimUsage();
43
44?>

PHPのltrim関数は、文字列の左端(先頭)から指定された文字を削除し、整形された新しい文字列を返す関数です。この関数は、主に文字列から不要な空白や記号を取り除きたい場合に役立ちます。

第一引数$stringには、処理を行いたい元の文字列を指定します。ltrim関数は元の文字列自体を変更するのではなく、加工された新しい文字列を生成して返します。

第二引数$charactersはオプションで、削除したい文字の集合を文字列として指定します。この引数を省略した場合、PHPはデフォルトで半角スペース、タブ、改行コードなどの標準的な空白文字を左端から削除します。例えば、サンプルコードの例1では、先頭の複数のスペースが削除されています。

$characters引数を指定すると、その文字列に含まれる任意の文字が、元の文字列の先頭から連続して現れる限り削除されます。例2ではハイフン(-)を、例3では複数の記号とスペースを削除する様子が示されています。指定した文字が文字列の先頭にない場合、例4のように文字列は変更されません。

ltrim関数の戻り値は、削除処理が施された後の新しい文字列です。本サンプルコードは、様々なケースでltrim関数がどのように文字列を整形するかを具体的に示しています。

ltrim関数は、文字列の左端(先頭)からのみ指定された文字を削除する機能を持つ点にご注意ください。文字列の途中や右端の文字は削除されません。第二引数を省略した場合、半角スペース、タブ、改行、垂直タブ、NULLバイトなどの一般的な空白文字が削除の対象となります。

第二引数に削除したい文字を文字列として指定すると、その文字列に含まれる「いずれかの文字」が、元の文字列の先頭に連続して出現する限り削除されます。例えば「abc」と指定した場合、「a」も「b」も「c」も、どれが先頭にあっても削除されます。指定した文字の並びそのものを削除するわけではないため、混同しないようにしましょう。また、文字列の先頭に削除対象となる文字がない場合は、元の文字列がそのまま返され、変更は加えられません。

関連コンテンツ

関連プログラミング言語