"Numerieke stringwaarde" Afvang

From Edgar BV Wiki
Jump to navigation Jump to search

Deze functies zijn bedoeld ter vervanging van de interne PHP-functies is_int(), is_float() en dergelijke. Zoals je kunt zien worden ze wel gebruikt in deze functies, maar dan in combinatie met andere functies.

Het probleem van het gebruik van is_int() is bijv. dat als je een waarde uit de GET- of POST-vars ermee checkt, dat dit nooit een INTEGER is. Alle GET- en POST-vars zijn namelijk STRINGs of ARRAY's.

Onderstaande functies lossen dit probleem op.

/**
 * This function returns true only when given positive integer or string that contains only digits
 * @link http://nl3.php.net/manual/en/function.ctype-digit.php (Comments)
 */
function isDigital($var){
    return ($var===0 || $var==='0' || (!empty($var) && (is_string($var) || is_int($var)) && ctype_digit((string) $var)));
}

function isFloat($var){
    return ($this->isDigital($var) || is_numeric($var));
}