PHP では、テーブルは一般的なデータ形式の 1 つであり、通常はテーブル内のデータをフィルタリングや並べ替えなどで処理する必要があります。配列は PHP で最も柔軟で効率的なデータ構造の 1 つであるため、この時点でテーブルを 2 次元配列に変換することは良い選択です。
それでは、PHP でテーブルを 2 次元配列に変換するにはどうすればよいでしょうか?以下で詳しく紹介していきましょう。
CSV (カンマ区切り値) 形式のテーブルは、各行を次のように区切ります。カンマ。改行文字で終わります。 PHP の組み込み関数 fgetcsv() を使用して、CSV テーブル内のデータの各行を読み取り、配列形式に変換できます。以下は簡単なサンプル コードです:
$handle = fopen("data.csv", "r"); $data = []; while (($row = fgetcsv($handle)) !== false) { $data[] = $row; } fclose($handle);
上記のコードでは、最初にデータ ソース ファイルが fopen() 関数を通じて開かれ、次にデータ ソース ファイル内のテーブル データが 1 行ずつ読み取られます。 while ループ。各行は fgetcsv() 関数を使用して解析され、解析されたデータは配列の形式で $data 配列に格納されます。最後にデータ ソース ファイルを閉じます。
Excel 形式でテーブルを処理する必要がある場合は、PHPExcel ライブラリを使用してテーブルを 2 つの形式に変換できます。次元配列。 PHPExcel ライブラリは、Excel、CSV などのさまざまなスプレッドシート形式を操作できる PHP オープン ソース クラス ライブラリです。
以下は簡単なサンプル コードです:
require_once 'PHPExcel/IOFactory.php'; $excel = PHPExcel_IOFactory::load("data.xlsx"); $data = array(); $sheet = $excel->getActiveSheet(); foreach ($sheet->getRowIterator() as $rowKey => $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); $temp = array(); foreach ($cellIterator as $cellKey => $cell) { $temp[] = $cell->getValue(); } $data[] = $temp; }
上記のコードでは、まず PHPExcel ライブラリを導入し、Excel データ ソース ファイルを読み込み、getRowIterator()## を使用します。 # 関数を使用して各行のデータを取得し、
getCellIterator() 関数を使用して各行の各セルのデータを取得します。最後に、データの各行は、後続のデータ処理と操作のために 2 次元配列に保存されます。
function table2array($table, $headerIndex = 0, $skipEmptyRow = true, $intval = true) { $rows = explode("\n", $table); $header = array(); $data = array(); foreach ($rows as $key => $row) { if ($skipEmptyRow && trim($row) == '') { continue; } if ($headerIndex == $key) { $header = explode("\t", $row); continue; } $cols = explode("\t", $row); $rowData = array(); foreach ($cols as $col) { if ($intval && is_numeric($col)) { $rowData[] = intval($col); } else { $rowData[] = $col; } } $data[] = array_combine($header, $rowData); } return $data; }
explode() 関数を使用して、指定された区切り文字に従って文字列を配列形式に分割し、次にデータ型を変換してアセンブルします。最後に、データの各行が連想配列の形式で $data 配列に格納され、この 2 次元配列が返されます。
以上がPHPテーブルを二次元配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。