In PHP versions before 4.4.1, ctype functions have a bug handling very large integers.
http://bugs.php.net/bug.php?id=34645
See Crimson's comment under ctype_digit, or this test code from the bug:
<?php
$id = 394829384;
var_dump($id);
ctype_digit($id);
var_dump($id);
?>
Expected result:
----------------
int(394829384)
int(394829384)
Actual result:
--------------
int(394829384)
NULL
The fix is to cast it as a string:
<?php
ctype_digit((string)$id);
?>
... or use a current version of PHP!
Funkcie znakových typov
Úvod
Funkcie poskytované týmto rozšírením kontrolujú, či znak alebo reťazec spadá do príslušnej znakovej triedy podľa aktuálneho umiestnenia (tiež pozri setlocale()).
Pri volaní s argumentom typu integer sa tieto funkcie správajú presne ako ich C náprotivky z ctype.h.
Pri volaní s reťazcovým argumentom skontrolujú každý znak v reťazci a vrátia iba TRUE ak sa každý znak v reťazci zhoduje s požadovaným kritériom. Pri volaní s prázdnym reťazcom bude vždy výsledkom TRUE.
Hocičo iné než reťazec alebo integer okamžite vráti FALSE.
Požiadavky
Žiadne, popri funkciách zo štandardnej C knižnice, ktoré sú vždy dostupné.
Inštalácia
Počínajúc s PHP 4.2.0 sú tieto funkcie defaultne sprístupnené. Pre staršie verzie musíte PHP nakonfigurovať a skompilovať s --enable-ctype. ctype podporu možete vypnúť s --disable-ctype.
Windows verzie PHP majú vstavanú podporu pre toto rozšírenie. Nemusíte načítať žiadne dodatočné rozšírenie, aby ste mohli tieto funkcie používať.
Note: Vstavaná podpora pre ctype je dostupná s PHP 4.3.0.
Runtime Konfigurácia
Toto rozšírenie nemá žiadne konfiguračné direktívy definované v php.ini.
Typy zdrojov
Toto rozšírenie nemá definované žiadne typy zdrojov.
Preddefinované Konštanty
Toto rozšírenie nemá definované žiadne konštanty.
Table of Contents
- ctype_alnum — Skontrolovať alfanumerický(é) znak(y)
- ctype_alpha — Skontrolovať abecedný(é) znak(y)
- ctype_cntrl — Skontrolovať kontrolný(é) znak(y)
- ctype_digit — Skotrolovať numerický(é) znak(y)
- ctype_graph — Skotrolovať všetky vytlačiteľné znaky okrem medzery
- ctype_lower — Skontrolovať lowercase znak(y)
- ctype_print — Skotrolovať vytlačiteľný(é) znak(y)
- ctype_punct — Skontrolovať všetky vytlačiteľné znaky, ktorými nie sú biele miesta alebo alfanumerické znaky
- ctype_space — Skontrolovať prázdny(e) znak(y)
- ctype_upper — Skontrolovať uppercase znak(y)
- ctype_xdigit — Skontrolovať znak(y) reprezentujúci(e) hexadecimálnu číslicu
ctype
03-Jan-2006 12:58
In case the ctype_*() functions aren't compiled in your PHP and you can't recompile for some reason (e.g. shared host) you can use the compatability functions from the MediaWiki project which use preg_* as a replacement[1], removing lines 2 and 3 in the source should make them suitable for usage elsewhere.
Shameless self-advertisement, but hey, we find them useful;)
1. A tinyurl because the submission script complained about long lines: http://tinyurl.com/7hz4l
1. The real url split up:
http://cvs.sourceforge.net/viewcvs.py/*checkout*/
wikipedia/phase3/includes/compatability/ctype.php
