class QueryString { var $aParams = array(); function QueryString() { } function readURL() { $this->aParams = $_GET; } // Establece el valor $v del parámetro $k function setParam($k, $v) { $this->aParams[$k] = $v; } // Establece el valor de varios parámetros // enviados en un array asociativo function setParams($pp) { while(list($k, $v)=each($pp)) { $this->aParams[$k] = $v; } } // Establece el valor $v del parámetro $k si este no existe function setDefault($k, $v) { if(!isset($this->aParams[$k])) { $this->aParams[$k] = $v; } } // Establece el valor de varios parámetros // enviados en un array asociativo si estos no existen function setDefaults($pp) { while(list($k, $v)=each($pp)) { if(!isset($this->aParams[$k])) { $this->aParams[$k] = $v; } } } // Devuelve el QueryString como un String function toString() { $retval = ""; while(list($k, $v)=each($this->aParams)) { $retval .= $k."=".$v."&"; } return ($retval!=""? "?":"").substr($retval, 0, -1); } // Devuelve el QueryString con los parámetros indicados en el array $pp // pero no modifica el estado de la clase function toStringWith($pp) { $retval = ""; $aParams = $this->aParams; while(list($k, $v)=each($pp)) { $aParams[$k] = $v; } while(list($k, $v)=each($aParams)) { $retval .= $k."=".$v."&"; } return ($retval!=""? "?":"").substr($retval, 0, -1); } // Devuelve el QueryString sin los parámetros indicados en el array $pp // pero no modifica el estado de la clase function toStringWithout($pp) { $retval = ""; $aParams = $this->aParams; while(list($a, $k)=each($pp)) { unset($aParams[$k]); } while(list($k, $v)=each($aParams)) { $retval .= $k."=".$v."&"; } return ($retval!=""? "?":"").substr($retval, 0, -1); } }