世の中には人名などのダミーデータを生成してくれるサービスがあります。ただまず日本語に対応しているサービスの数があまり多くありません。
また、日本語に対応しているものでも、項目順を調整する必要が出たり、氏名をカンマ区切りに分けたり・・・みたいな調整が発生してしまい、なかなかこれだ、というものがありません。
そんな中、素晴らしいものを見つけてしまいました。
Faker
https://github.com/fzaninotto/Faker#formatters
インストール
composer require fzaninotto/faker composer require league/csv
今回はCSV出力させたいので、このCSV用のライブラリも用意しておきます。
サンプル
以下にサンプルを載せておきます。
user.php
<?php require_once 'vendor/autoload.php'; $faker = Faker\Factory::create('ja_JP'); $count = 50; $data = []; $data[] = [ 'email' => 'ユーザー名(メールアドレス)', ]; for ($i = 0; $i < $count; $i++) { $data[] = [ 'email' => $faker->safeEmail, ]; } // 出力 mb_convert_variables('SJIS', 'UTF-8', $data); $writer = League\Csv\Writer::createFromFileObject(new SplTempFileObject()); echo $writer->insertAll($data);
CSVファイル生成
出力コマンドはこんな感じ
php user.php > user.csv
50件のデータをヘッダー行つきで出力します。CSVファイルの文字コードはSJISにしたいのでエンコードをしています。
日付を扱うメソッドもあるようなので、そのへんも便利に使えそうです。
参考
http://ps.zzqune.com/archives/43
https://www.tam-tam.co.jp/tipsnote/program/post10791.html