がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

模擬試験作成用ヘルププログラム

限りなくメモ(笑
まぁ何かに使える事もあるかと思ったので、アップしときます。
githubに上げるほどでもねぇなぁ、って思ったので、ここに(笑


試験項目作成用

<?php

$elementary = array (
  '1章オリエンテーションと始めの一歩',
  '1章オリエンテーションと始めの一歩',
  '1章オリエンテーションと始めの一歩',
  '2章テキストと数の操作',
  '2章テキストと数の操作',
  '2章テキストと数の操作',
  '2章テキストと数の操作',
  '3章判定と繰り返しについて',
  '3章判定と繰り返しについて',
  '3章判定と繰り返しについて',
  '3章判定と繰り返しについて',
  '4章配列の操作',
  '4章配列の操作',
  '4章配列の操作',
  '4章配列の操作',
  '5章関数',
  '5章関数',
  '5章関数',
  '5章関数',
  '6章Webフォームの作成',
  '6章Webフォームの作成',
  '6章Webフォームの作成',
  '6章Webフォームの作成',
  '7章データベースに情報を保存',
  '7章データベースに情報を保存',
  '7章データベースに情報を保存',
  '7章データベースに情報を保存',
  '8章クッキーとセッションでユーザを記憶',
  '8章クッキーとセッションでユーザを記憶',
  '8章クッキーとセッションでユーザを記憶',
  '9章日付と時刻の取り扱い',
  '9章日付と時刻の取り扱い',
  '9章日付と時刻の取り扱い',
  '10章ファイルの操作',
  '10章ファイルの操作',
  '10章ファイルの操作',
  '10章ファイルの操作',
  '11章XMLのパースと生成',
  '12章デバッギング',
  '12章デバッギング',
  '13.8 クラスとオブジェクト(クラス定数も含む)',
  '14章日本語処理',
  '14章日本語処理',
  '14章日本語処理',
  '付録B 正規表現の基本',
  '付録B 正規表現の基本',
  '付録D PHP5.1とPDO',
  '追加1.セキュリティ(各章からのポイントの集約や一般的な知識など)',
  '追加2.出力バッファ(エラー処理。各章からのポイントも含む)',
  '追加3.定数・予約語',
);
$advanced = array (
  '3.関数',
  '3.関数',
  '4.文字列',
  '4.文字列',
  '5.配列',
  '5.配列',
  '5.配列',
  '5.配列',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '6.オブジェクト',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '7.ウェブテクニック',
  '8.データベース',
  '8.データベース',
  '8.データベース',
  '8.データベース',
  '8.データベース',
  '8.データベース',
  '8.データベース',
  '8.データベース',
  '9.グラフィック',
  '9.グラフィック',
  '9.グラフィック',
  '9.グラフィック',
  '10.PDF',
  '10.PDF',
  '10.PDF',
  '10.PDF',
  '11.XML',
  '11.XML',
  '11.XML',
  '11.XML',
  '11.XML',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '12.セキュリティ',
  '13.アプリケーションテクニック',
  '13.アプリケーションテクニック',
  '13.アプリケーションテクニック',
  '13.アプリケーションテクニック',
  '13.アプリケーションテクニック',
  '13.アプリケーションテクニック',
  '13.アプリケーションテクニック',
  '13.アプリケーションテクニック',
  '14.さまざまなプラットフォームでのPHP',
  '14.さまざまなプラットフォームでのPHP',
  '15.ウェブサービス',
  '16.PHPのデバッグ',
  '16.PHPのデバッグ',
  '17.日付と時刻',
  '名前空間 クロージャー リフレクション Late Static Binding',
  '名前空間 クロージャー リフレクション Late Static Binding',
  '名前空間 クロージャー リフレクション Late Static Binding',
  '名前空間 クロージャー リフレクション Late Static Binding',
  'JSON JSONP',
  'JSON JSONP',
  'PDOとネイティブモジュールの違い mysqlndドライバについて PDO mysqlndとlibmysql',
  'PDOとネイティブモジュールの違い mysqlndドライバについて PDO mysqlndとlibmysql',
  'PDOとネイティブモジュールの違い mysqlndドライバについて PDO mysqlndとlibmysql',
  'PDOとネイティブモジュールの違い mysqlndドライバについて PDO mysqlndとlibmysql',
  '正規表現',
  '正規表現',
  'APD/Xdebug memcache',
  'APD/Xdebug memcache',
  'フィルター',
  'フィルター',
  'PHPの拡張',
  'PHPの拡張',
  'PHPの拡張',
  'PHPの拡張',
);

//
$prefix['elementary'] = '初級: ';
$prefix['advanced'] = '上級: ';

// 本体
for($i = 0; $i < 10; $i ++) {
  //
  if (0 === mt_rand(0, 4)) {
    $type = 'elementary';
  } else {
    $type = 'advanced';
  }
  //
  echo $prefix[$type], ${$type}[mt_rand(0, count($$type) - 1)] , "\n";
}


「どの設問を正解にするか」決める用

<?php

$awk = array(1,2,3,4);
shuffle($awk);
foreach($awk as $v) {
  echo "{$v}\n";
}