<?php
//! retourneert een enkele mysql-stat of een (mogelijk associatief) array met alle mysql-stats
/*!
@param $index (int) specifieke waarde die je wilt weten van mysql_stat(), -1 zijn alle waarden (default -1)
@param $assoc (bool) geeft aan of er een associatief array geretourneerd moet worden (default false)
@return (mixed) waarde van index $index in het stats-array (als index > -1) of alle waarden in een array ($assoc geeft aan of het een associatief array betreft)

mysql_stat() werkt vanaf PHP 4.3.0
$assoc is alleen van betekenis als $index -1 is, onzinnig om hier true van te maken als $index > -1
*/
function mysql_stat2($index=-1, $assoc=false) {
  // the last stat in mysql_stat() does not have two spaces in front of it ?
  $ret = array();

  // een of meer woorden, gevolgd door een (decimaal) getal
  $pattern = "/(\w+( \w+)*): (\d+(\.\d+)?)/ie";
  if($assoc) {
    $replace = "\$ret[str_replace(\" \", \"_\", strtolower('\\1'))] = '\\3'"; // named (associative) indices
  } else {
    $replace = "\$ret[] = '\\3'"; // numeric indices
  }
  preg_replace($pattern, $replace, mysql_stat());

  if($index > -1) {
    return $ret[$index];
  } else {
    return $ret;
  }
}
?>