12

文字列があり、それをループして、すべての文字が文字か数字かを確認できるようにします。

$s = "rfewr545 345b";

for ($i=1; $i<=strlen($s); $i++){
   if ($a[$i-1] == is a letter){
      echo $a[$i-1]." is a letter";
   } else {
      echo $a[$i-1]." is a number";
   }
}

char が文字か数字かを確認するにはどうすればよいですか?

4

7 に答える 7

19

次を使用できます。

ctype_digit

ctype_alpha

于 2013-01-09T08:28:22.233 に答える
18

文字かどうかをテストするis_numericには、次を使用します。

is_numeric($a[$i-1])

以下のように:

$s = "rfewr545 345b";
for ($i = 0; $i < strlen($s); $i++){
   $char = $s[$i];
   if (is_numeric($char)) {
      echo $char . ' is a number';
   } else {
      echo $char . ' is a letter';
   }
}
于 2013-01-09T08:27:42.393 に答える
5

正規表現を使用すると、次のことを試すことができます。

数値のテスト

if (preg_match('/\d/', $char)) :
     echo $char.' is a number';
endif;

「手紙」のテスト

if (preg_match('/[a-zA-Z]/', $char)) :
     echo $char.' is a letter';
endif;

このアプローチの利点は、主に「文字」テストによるものです。これにより、「文字」文字を構成するものを効率的に定義できます。この例では、基本的な英語のアルファベットが「文字」として定義されています。

于 2013-01-09T08:33:00.107 に答える
0

これを参照してください: http://php.net/manual/en/function.is-numeric.php

if(Is_numeric($char)) {
//Do stuff
}
else {
//Do other stuff
}
于 2013-01-09T08:28:30.643 に答える
0

is_numeric()関数を使用して行うことができます

if (is_numeric($a[$i-1])){
      echo $a[$i-1]." is a number";
   } else {
      echo $a[$i-1]." is a letter";
   }
于 2013-01-09T08:28:34.780 に答える
0

php には、文字をチェックアウトするための優れた機能がいくつかあります。if ブロックの条件として apt 関数を使用します。

訪問:

PHP 文字関数

たとえば、数値が数値の場合、ctype_digitは true を返します。

于 2013-01-09T08:35:21.600 に答える
0

ctype_alphaを使用して、アルファベット文字をチェックできます。

同様に、ctype_digitを使用して数字をチェックすることもできます。

is_numeric— 変数が数値か数値文字列かを調べる

is_numeric()例:

<?php

    $tests = array(
        "42",
        0b10100111001,
        "not numeric",
        array(),
        9.1
    );

    foreach ($tests as $element) {
        if (is_numeric($element)) {
            echo "'{$element}' is numeric", PHP_EOL;
        } else {
            echo "'{$element}' is NOT numeric", PHP_EOL;
        }
    }
?>

上記の例では、次のように出力されます。

'42' is numeric
'1337' is numeric
'not numeric' is NOT numeric
'Array' is NOT numeric
'9.1' is numeric

どこctype_digit()is_numeric()違いますか?

文字列と整数を比較する例:

<?php
    $numeric_string = '42';
    $integer        = 42;

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

    is_numeric($numeric_string);   // true
    is_numeric($integer);          // true

?>
于 2016-05-28T12:32:49.580 に答える