"Numerieke stringwaarde" Afvang: Difference between revisions
Jump to navigation
Jump to search
New page: <pre> →* * 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): f... |
No edit summary |
||
Line 1: | Line 1: | ||
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. | |||
<pre> | <pre> | ||
/** | /** | ||
Line 5: | Line 11: | ||
*/ | */ | ||
function isDigital($var){ | function isDigital($var){ | ||
return ($var===0 || $var==='0' || (!empty($var) && (is_string($var) || is_int($var)) && ctype_digit((string) $var))); | |||
} | } | ||
function isFloat($var){ | function isFloat($var){ | ||
return ($this->isDigital($var) || is_numeric($var)); | |||
} | } | ||
</pre> | </pre> |
Latest revision as of 13:18, 5 June 2007
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)); }