ホームページ >バックエンド開発 >PHPの問題 >PHPでテーブルを配列に変換する方法

PHPでテーブルを配列に変換する方法

PHPz
PHPzオリジナル
2023-04-19 11:40:27613ブラウズ

PHP 言語では、テーブルを配列に変換することがよくあります。通常、大量のデータを処理し、それをコード内で読み取って操作する必要がありますが、このとき、テーブルを配列に変換することで、データの処理と操作が大幅に容易になります。

この記事は、PHP 愛好家が大量のデータを簡単に処理できるように、PHP でテーブルを配列に変換する方法を紹介することを目的としています。

I. CSV テーブルを配列に変換する

まず、CSV (カンマ区切り値) は、さまざまなツールで生成でき、処理が簡単な非常に一般的なテーブル フォームです。 CSV テーブルでは、各列をカンマで区切り、キャリッジ リターンを使用して各行を区切るだけで済むため、読みやすく操作しやすくなります。

CSV テーブルを配列に変換する方法は次のとおりです。

  1. CSV ファイルを開いてデータを読み取ります

次の例では、 fgets() 関数を使用して CSV ファイルの内容を読み取り、それを配列 $lines に 1 行ずつ保存します。

$csvFile = 'test.csv';

$lines = [];
if (($handle = fopen($csvFile, "r ")) !== FALSE) {

while (($data = fgets($handle)) !== FALSE) {
    $lines[] = $data;
}
fclose($handle);

}

?>

  1. CSV データをフォーマットし、配列に変換します
#次に、ループを使用して $lines 配列を走査し、explode() 関数を使用してデータの各行をカンマに従って新しい配列に分割し、最終的に 2 次元配列 $csvData を取得します。 count() 関数を使用して、$csvData 配列内の行数と列数を取得できます。

$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {
while (($data = fgets($handle)) !== FALSE) {
    $lines[] = $data;
}
fclose($handle);

$csvData = [];
foreach ($lines as $line) {
    $csvData[] = str_getcsv($line);
}

}

?>

    CSV データの出力
これで、var_dump を使用できるようになります。 () 関数は、ブラウザーの $csvData 配列内のデータを参照します。

$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {
while (($data = fgets($handle)) !== FALSE) {
    $lines[] = $data;
}
fclose($handle);

$csvData = [];
foreach ($lines as $line) {
    $csvData[] = str_getcsv($line);
}
var_dump($csvData);

}

?>

II. Excel テーブルを配列に変換

CSV 形式を使用しない場合、 Excel テーブルを配列型に変換する方が簡単です。次のように:

    PHPExcel プラグインをインストールします
このプラグインは PHPEXCEL 公式 Web サイトからダウンロードし、プロジェクト ディレクトリに抽出できます。

require_once 'Classes/PHPExcel.php';
?>
    Excel ファイルに読み込みます
PHPExcel は、PHPExcel_IOFactory オブジェクトを通じて Excel ファイルを読み取ります。 PHPExcel_IOFactory を使用する場合、Excel ファイルを開くにはファイル リーダーが必要です。 PHP バージョン 5.3 以降をアップロードする必要があります。

require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
?>
    Excel データを配列に変換する
Excel ファイルを $excel オブジェクトに正常に読み込んだので、データを含む配列に変換できます。まず必要なセルを選択し、PHPExcel_Cell クラスの getValue() メソッドを使用してその値を取得します。

require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
$sheet = $excel-> ;getActiveSheet();

$rows = [];

foreach ($sheet->getRowIterator() as $row) {

$item = [];
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);

foreach ($cellIterator as $cell) {
    $item[] = $cell->getValue();
}

$rows[] = $item;}<p>?><br></p>
<ol start="3">Excel データの出力<li>##最後に、var_dump() 関数を使用して、ブラウザーで $rows 配列のデータを表示できます。 </ol>
<p><?php</p>require_once 'Classes/PHPExcel.php';<p>$excel = PHPExcel_IOFactory::load('test.xlsx');<br/>$sheet = $excel-&gt ;getActiveSheet();<br/><br/>$rows = [];</p>foreach ($sheet->getRowIterator() as $row) {</p>
<p></p>
<pre class="brush:php;toolbar:false">$item = [];
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);

foreach ($cellIterator as $cell) {
    $item[] = $cell->getValue();
}

$rows[] = $item;

}

var_dump ($rows);

?>


概要

上記の方法により、さまざまな形式のテーブル データを PHP 配列型にすばやく変換できます。この方法は、大量のデータの処理に特に適しており、データの読み取りと処理がより効率的かつ簡単になります。したがって、これは学び、習得する価値のある非常に重要なスキルです。

以上がPHPでテーブルを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。