PHP でファイルに配列を書き込む

Subodh Poudel 2023年1月30日
  1. PHP で print_r() および file_put_contents() 関数を使用して配列をファイルに書き込む
  2. PHP で fopen()print_r() および fwrite() 関数を使用して配列をファイルに書き込む
  3. fopen()var_export() および fwrite() 関数を使用して、配列をファイルに書き込む
PHP でファイルに配列を書き込む

print_r() 関数と file_put_contents() 関数を使用して、PHP でファイルに配列を書き込む方法を紹介します。このメソッドは、指定された配列をシステム内の指定されたファイルに書き込みます。

また、print_r() および fwrite() 関数を使用して配列を PHP ファイルに出力する方法も紹介します。fopen() 関数を使用してファイルを作成します。

php.ini ファイルを変更して、すべての PHP エラーを表示する永続的なソリューションを紹介します。上記の 2つの方法は、中括弧やセミコロンの欠落などの解析エラーの表示には役立ちません。

PHP で print_r() および file_put_contents() 関数を使用して配列をファイルに書き込む

このメソッドは、配列を作成し、print_r() 関数を使用して配列を返し、file_put_content() 関数を使用して配列をファイルにロードできます。print_r() 関数は、出力される配列とブール値をパラメーターとして受け取ります。ブール値は、配列が返されるかどうかを決定します。デフォルト値は false です。file_put_contents() 関数は、最初のパラメーターとしてファイルパスを取ります。2 番目のパラメーターは、ファイルにロードされるコンテンツです。

たとえば、連想配列を作成します。連想配列は、キーが数字ではなく文字列である配列のタイプです。キーを nameage、および bike として作成します。キーの値として、値 Jack24、および fireblade を割り当てます。配列を変数 $b に割り当てます。print_r() 関数を使用して、パラメーター$b とブール値 true を取ります。次に、file_put_contents() 関数を記述し、最初のパラメーターとしてファイル filename.txt を指定し、2 番目のパラメーターとして上記の print_r() 関数を指定します。

以下の例では、print_r() 関数が配列の情報を返します。Web ページのアイテムは出力されません。ファイル filename.txt は、配列が出力されるルートディレクトリに作成されます。関数の詳細については、PHP マニュアルの print_r() を確認してください。

サンプルコード:

# php 7.*
<?php
$b = array (
    'name' => 'Jack', 
    'age' => 24, 
    'bike' => 'fireblade');
file_put_contents('filename.txt', print_r($b, true));
?>

出力:

Array
(
 [name] => Jack
 [age] => 24
 [bike] => fireblade
)

PHP で fopen()print_r() および fwrite() 関数を使用して配列をファイルに書き込む

fwrite() メソッドを使用して、配列をファイルに書き込むことができます。このメソッドは、fopen() 関数を使用してディレクトリに書き込み可能なファイルを作成します。配列を作成し、print_r() 関数を使用して配列を返し、fwrite() 関数を使用して配列をファイルに書き込むことができます。print_r() 関数は、出力される配列とブール値をパラメーターとして受け取ります。

fopen() 関数を使用して、2 番目のパラメーターとして w を使用してファイル file.txt を作成します。fopen() 関数を変数 $fp に割り当てます。print_r() 関数を使用して、パラメーター$b とブール値 true を取ります。次に、fwrite() 関数を記述し、最初のパラメーターとして変数 $fp を指定し、2 番目のパラメーターとして上記の print_r() 関数を指定します。

以下の例では、fopen() 関数がルートディレクトリにファイル file.txt を作成します。配列は、fwrite() 関数を使用してファイルに書き込まれます。fwrite() 関数の詳細については、PHP マニュアルを確認してください。

サンプルコード:

#php 7.x
<?php
$b = array (
    'name' => 'Harry', 
    'age' => 22, 
    'bike' => 'hayabusa');
$fp = fopen('file.txt', 'w');
fwrite($fp, print_r($b, true));
?>

出力:

Array
(
 [name] => Harry
 [age] => 22
 [bike] => hayabusa
)

fopen()var_export() および fwrite() 関数を使用して、配列をファイルに書き込む

このメソッドでは、print_r() 関数の代わりに var_export() 関数を使用して、出力する必要のある配列を返します。var_export() 関数は、print_r() 関数と同様に、出力される配列とブール値をパラメーターとして受け取ります。fopen() 関数を使用して、ディレクトリに書き込み可能なファイルを作成します。fwrite() 関数を使用して、配列と var_export() 関数をパラメーターとして使用し、配列をファイルに書き込みます。var_export() 関数は、指定されたパラメーターの有効な PHP コードを返します。

たとえば、fwrite() 関数を記述し、最初のパラメーターとして変数 $fp を指定し、2 番目のパラメーターとして上記の var_export() 関数を指定します。var_export() 関数のパラメーターとして、変数 $b とブール値 true を指定します。

以下の例では、var_export() 関数は、print_r() 関数ではなく、構造に関して異なる出力を生成します。var_export() 関数によって出力される配列は有効な PHP コードであり、print_r() 関数によって生成される出力とは異なり、実行できます。var_export() 関数について理解するには、PHP マニュアルを確認してください。

コード例:

#php 7.x
<?php
$b = array (
    'name' => 'James', 
    'age' => 27, 
    'bike' => 'Yamaha R1');
$fp = fopen('file.txt', 'w');
fwrite($fp, var_export($b, true));
fclose($fp);
?>

出力:

array (
 'name' => 'James',
 'age' => 27,
 'bike' => 'Yamaha R1',
)
著者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

関連記事 - PHP File

関連記事 - PHP Array