PHPCon Poland 2024

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_xdigitSınama, onaltılık rakamlar için yapılır

Açıklama

ctype_xdigit(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi birer onaltılık rakam ise true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi birer onaltılık rakam ise, yani rakamlar ve [A-Fa-f] aralığındaki karakterlerden biri iseler true, aksi takdirde false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_xdigit() örneği

<?php
$dizgeler
= array('AB10BC99', 'AR1012', 'ab12bc99');
foreach (
$dizgeler as $dizge) {
if (
ctype_xdigit($dizge)) {
echo
"$dizge tamamen onaltılık rakamlardan oluşuyor.\n";
} else {
echo
"$dizge tamamen onaltılık rakamlardan oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

AB10BC99 tamamen onaltılık rakamlardan oluşuyor.
AR1012 tamamen onaltılık rakamlardan oluşmuyor.
ab12bc99 tamamen onaltılık rakamlardan oluşuyor.

Ayrıca Bakınız

add a note

User Contributed Notes 2 notes

up
21
tom at hgmail dot com
18 years ago
This function shows its usefulness on a web site where a user is asked to entered a hexidecimal color code for a color. To prevent breaking W3C standard and having them enter in "neon-green" or the wrong type of code like 355511235.

In conjunction with strlen() you could create a function like this:

function check_valid_colorhex($colorCode) {
// If user accidentally passed along the # sign, strip it off
$colorCode = ltrim($colorCode, '#');

if (
ctype_xdigit($colorCode) &&
(strlen($colorCode) == 6 || strlen($colorCode) == 3))
return true;

else return false;
}
up
-2
Anonymous
1 year ago
this can be used with great results if you wanna check for something like

"Tobias2" whether there is a number at the end of the string. (F.e. courselist with coursenames etc.)

Just substring the last char and put it in the function.
We should be glad about every possibility to cut out these damn regexes from our code. NEVER USE REGEX
To Top