Friday, July 6, 2012

PHP: Generate random string, random date

PHP Function: Generate random string

/**
 * PHP Generate random string
 * @param int $length
 * @param array $chars - optional
 * @return string
 */
function generateRandString($length, $chars = array()) {
    if(empty($chars)) {
        $chars = array_merge(
            range('a', 'z'), range('A', 'Z'),
            range('0', '9'), array(' ', '.', ',', '-', ';')
        );
    }
   
    $string = '';
   
    for($i = 0; $i < $length; $i++) {
        $string .= $chars[mt_rand(0, count($chars) - 1)];
    }
   
    return $string;
}

PHP Function: Generate random date

/**
 * PHP Generate random date
 * Compute a random date between 2 given dates
 * @param string $date1 - YYYY-MM-DD format
 * @param string $date2 - YYYY-MM-DD format
 * @return string date
 */
function generateRandDate($date1, $date2) {
    list($y, $m, $d) = explode('-', $date1);
    $time1 = mktime(0, 0, 0, $m, $d, $y);
    list($y, $m, $d) = explode('-', $date2);
    $time2 = mktime(0, 0, 0, $m, $d, $y);
    return date('Y-m-d', mt_rand($time1, $time2));
}

No comments: