PHPで文字列の改行を配列に変換する方法

PHPでテキストの改行を配列に変換する方法についてまとめました。

改行を配列に変換するにはexplode関数を使う

PHPは、テキストの特定の文字列を区切りに、配列に変換するexplode関数があります。

参考 PHPのexplodeで文字列を配列に変換する方法

基本的にはこのexplode関数を使用するだけで、配列に変換が可能です。

サンプルコード
$text = 'あいうえお
かきくけこ
さしすせそ

たちつてと
なにぬねの

はひふへほ
や ゆ よ
らりるれろ
わ を ん';

//改行の特殊文字をすべてのパターンに対応できるように統一
$text = str_replace(["\r\n", "\r", "\n"], "\n", $text);

//配列に変換
$aryHoge = explode("\n", $text);

print_r($aryHoge);
Array
(
    [0] => あいうえお
    [1] => かきくけこ
    [2] => さしすせそ
    [3] => 
    [4] => たちつてと
    [5] => なにぬねの
    [6] => 
    [7] => はひふへほ
    [8] => や ゆ よ
    [9] => らりるれろ
    [10] => わ を ん
)

注意点として、改行を示す特殊文字は""(ダブルクオーテーション)で囲う必要があります。

間違っても''(シングルクオーテーション)で囲わないようにしましょう。

改行を配列に変換後、空白の配列を削除したい場合

explodeで配列に変換後、空白の改行を削除したい場合は、array_filter関数を使用します。

array_filterと文字数を取得するstrlenで、各行にstrlen関数を通し、返り値がfalse(=0)の配列を削除する処理を行います。

最終結果の配列を連番に振り直したい場合は、さらにarray_valuesという関数を通す必要があります。

キーを維持する

サンプルコード
$text = 'あいうえお
かきくけこ
さしすせそ

たちつてと
なにぬねの

はひふへほ
や ゆ よ
らりるれろ
わ を ん';

//改行の特殊文字をすべてのパターンに対応できるように統一
$text = str_replace(["\r\n", "\r", "\n"], "\n", $text);

//配列に変換
$aryHoge = explode("\n", $text);

//空白の配列を削除
$aryHoge = array_filter($aryHoge, "strlen");

print_r($aryHoge);
Array
(
    [0] => あいうえお
    [1] => かきくけこ
    [2] => さしすせそ
    [4] => たちつてと
    [5] => なにぬねの
    [7] => はひふへほ
    [8] => や ゆ よ
    [9] => らりるれろ
    [10] => わ を ん
)

連番に振り直す

サンプルコード
$text = 'あいうえお
かきくけこ
さしすせそ

たちつてと
なにぬねの

はひふへほ
や ゆ よ
らりるれろ
わ を ん';

//改行の特殊文字をすべてのパターンに対応できるように統一
$text = str_replace(["\r\n", "\r", "\n"], "\n", $text);

//配列に変換
$aryHoge = explode("\n", $text);

//空白の配列を削除
$aryHoge = array_filter($aryHoge, "strlen");

//連番に振り直す
$aryHoge = array_values($aryHoge);

print_r($aryHoge);
Array
(
    [0] => あいうえお
    [1] => かきくけこ
    [2] => さしすせそ
    [3] => たちつてと
    [4] => なにぬねの
    [5] => はひふへほ
    [6] => や ゆ よ
    [7] => らりるれろ
    [8] => わ を ん
)
以上、PHPで文字列の改行を配列に変換する方法、でした。

コメント

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