PHP Classes

File: example2.php

Recommend this page to a friend!
  Classes of Ignatius Teo   Sample Data Generator   example2.php   Download  
File: example2.php
Role: Example script
Content type: text/plain
Description: Advanced example
Class: Sample Data Generator
Generating random sample data based on rules
Author: By
Last change:
Date: 19 years ago
Size: 3,396 bytes
 

Contents

Class file image Download
<?php
/**
 * example2.php - Advanced example
 * Slightly more advanced random data sample generator
 * $Id: example2.php,v 1.3 2004/12/04 00:01:54 Owner Exp $
 */

include "tsample.php";

// some sample data
$male_firstnames = array (
   
"Adam", "Bob", "Charles", "Dave", "Edgar", "Fred", "Greg", "Harry", "Ian", "James", "Kingsley",
   
"Larry", "Michael", "Neil", "Oscar", "Patrick", "Quentin", "Roger", "Steve", "Tom", "Uriah",
   
"Victor", "Walter", "Xander", "Yanik", "Zak"
);

$female_firstnames = array (
   
"Alice", "Bianca", "Cath", "Diane", "Ellen", "Fran", "Gerry", "Helen", "Imogen", "Jane",
   
"Kelly", "Lisa", "Mary", "Nancy", "Olivia", "Patricia", "Rita", "Sally", "Tess", "Uma",
   
"Victoria", "Wilomena", "Xandrine", "Yumiko", "Zoe"
);

$lastnames = array(
   
"Ableman", "Ackerman", "Burke", "Barry", "Cortes", "Connor",
   
"Deane", "Donohue", "Ellis", "Elliott", "Fitzgerald", "Fitzpatrick",
   
"Gregory", "Goldsworthy", "Hollis", "Hodgkinson", "Inch", "James", "Jones",
   
"Kennedy", "Kelly", "Lyon", "Lynch", "MacDonald", "Murphy", "Nye", "Nielson",
   
"O'Connor", "O'Neill", "Patrick", "Phillips", "Quentin", "Quinn", "Riley", "Ryan",
   
"Stephens", "Smith", "Thomas", "Tucker", "Unger", "Unwin", "Victor", "Voss",
   
"Warne", "Waugh", "Xavier", "Yeoman", "Zachariah"
);

$streets = array(
   
"First St", "Second St", "Third St", "Fourth St", "Fifth St",
   
"Sixth Ave", "Seventh Ave", "Eigth Ave", "Ninth Ave", "Tenth Ave",
   
"Oak Court", "Maple Court", "Red Gum Court", "Teak Court", "Jarrah Court", "Mahogany Court",
   
"Poplar Circuit", "Conifer Circuit", "Fir Circuit", "Elm Circuit", "Pine Circuit",
   
"Cedar Grove", "Box Grove", "Olive Grove",
);

// ruleset to generate male names between the ages of 18-50
// living in Sydney, NSW
$rule_set_A = array(
   
"firstname" => array("choice", $male_firstnames),
   
"lastname" => array("choice", $lastnames),
   
"gender" => array("as_is", "male"),
   
"cdate" => array("datetime"),
   
"birthdate" => array("dob", 18, 50),

   
// combining the results of 2 rules
   
"address" => array(array("range", 1, 999), array("choice", $streets)),
   
"city" => array("as_is", "Sydney"),
   
"state" => array("as_is", "NSW"),
   
"zip" => array("range", 2000, 2100),
   
"phone" => array("range", 23599999, 23899999),
);

// ruleset to generate female names between the ages of 18-50
// living in Sydney, NSW
$rule_set_B = array(
   
"firstname" => array("choice", $female_firstnames),
   
"lastname" => array("choice", $lastnames),
   
"gender" => array("as_is", "female"),
   
"cdate" => array("datetime"),
   
"birthdate" => array("dob", 18, 50),
   
"address" => array(array("range", 1, 999), array("choice", $streets)),
   
"city" => array("as_is", "Sydney"),
   
"state" => array("as_is", "NSW"),
   
"zip" => array("range", 2000, 2100),
   
"phone" => array("range", 23599999, 23899999),
);

print
"<pre>";
// generate 10 records for ruleset A
print_r(TSample::generate($rule_set_A, 10));

// generate a random number of records for ruleset B
print_r(TSample::generate($rule_set_B, TSample::range(1,100)));
print
"</pre>";
?>