PHPRO.ORG

Since the wild wild west the world has waited for a simple PHP class to cut the deck, well, Wild Bill is not here to see it but we are sure he would use this if here were here today


<?php

/*** 
*
* A simple class to cut a deck of cards
* @author     Kevin Waterson <kevin@phpro.org>
* @copyright  2006 EMS PHPro
* @version    CVS: $Id:$
* @since      Class available since Release 1.0.0

* Example use
*
* $cards = new cards;
* echo $cards->cut();
*
*/


class cards{

/**
*
* Declare our deck variable 
*
*/
private $deck;

/**
*
* Constructor.. duh!
*
*/
function __construct(){

  
/*** set the deck array variable ***/
  
$this->deck=$this->setDeck();
}

/**
*
* Function set Deck
*
* @access private
*
* @return array
*
*/
private function setDeck(){
return array(
"ah""ac""ad""as",
               
"2h""2c""2d""2s",
               
"3h""3c""3d""3s",
               
"4h""4c""4d""4s",
               
"5h""5c""5d""5s",
               
"6h""6c""6d""6s",
               
"7h""7c""7d""7s",
               
"8h""8c""8d""8s",
               
"9h""9c""9d""9s",
               
"th""tc""td""ts",
               
"jh""jc""jd""js",
               
"qh""qc""qd""qs",
               
"kh""kc""kd""ks");
}

/**
*
* Function get Key get the array key
*
* @access private
*
* @return INT
*
*/
private function getKey(){
  
shuffle($this->deck);
  return 
array_rand($this->deck);
}

/**
*
* @Function cut, get the value of the array key
*
* @access public
*
* @return string
*
*/
public function cut(){
  return 
$this->deck[$this->getKey()];
}

/*** end of class ***/


$cards = new cards;
echo 
$cards->cut();

?>