PHP

【PHP】テキストファイルを読み込んで改行で分けて配列にする場合

テキストファイルを読み込みそのまま変数に格納すると、改行を無視した長文になってしまう。

 

この場合は改行を区切り文字としてexplode関数を使い配列に格納する。

$list = @file_get_contents($filePath);
$list = explode("\n", $list);
foreach($list as $str){
	echo $str;
}

 

この場合、explodeの第1引数に指定する改行を表す “\n” は、’\n’では期待した動作にはならないことに注意が必要。

 

PHPでは、ダブルクォートとシングルクォートでは以下のルールがある。

 

文字列内での変数展開は

1. “(ダブルクォート)で括った場合とヒアドキュメントでは変数展開される

2. ‘(シングルクォート)で括った場合には変数展開されない

 

 

つまり、

<?php
$fruit = "りんご";
echo "果物では{$fruit}が好きです。\n";
echo '果物では{$fruit}が好きです。\n';
?>

 

以下実行結果

 

果物ではりんごが好きです。

果物では{$fruit}が好きです。\n

 

 

あと、\r\n も \n として扱うことができる。