なぜctype_digit(0)はFALSEを返すのですか?

ctype_digit(0) returns FALSE

ctype_digit("0") returns TRUE

PHPの型変換によって、0は文字列 "0"に昇格されるべきです。しかし、0または1または2として呼び出すときは、文字列に昇格しません。どうして?

2
類似トピック: stackoverflow.com/questions/5962529/…。私は、この型変換の例外がPHPでなぜ許可されているのかを知ることに興味があります。なぜPHPマニュアルでctype_digitのこの特殊性が挙げられていないのですか?
追加された 著者 AgA,
申し訳ありません: php.net/manual/en/function.ctype-digit。 PHP 理由は、私のPHPのchmマニュアルにはない底に記載されています。
追加された 著者 AgA,

1 答え

$numeric_string = '42';
$integer        = 42;
ctype_digit($numeric_string); //true
ctype_digit($integer);        //false (ASCII 42 is the * character)

ASCIIコード 0 NULL なので、falseを返します。

8
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com