code: public function hashCode($var)
      {
          if (empty($var)) {
              return 0;
          }
          if (is_numeric($var)) {
              return abs(intval($var));
          }
          
          $str = (is_object($var) || is_array($var)) ? print_r($var, true) : strval($var);
          return hexdec(substr(md5($str), 22));
      }
docs: 指定された値のハッシュ値を返します.
  ハッシュ値の計算規則は以下のとおりです.
  
  - boolean 型にキャストした結果 FALSE となるような引数については 0
  - 引数が数値表現の場合はその絶対値
  - それ以外の値の場合は, 引数の文字列表現の {@link http://www.php.net/manual/function.md5.php md5()} ハッシュの一部
  
  @param  mixed $var
  @return int   引数のハッシュ値