-1

文字列の最初の文字が数字であるかどうかを確認するには、php if ステートメントが必要ですが、その方法がわかりません。いくつか試してみましたが、うまくいきませんでした。私が持っている基本的なコードは以下のとおりです。「数字」は、最初の文字を確認するために必要な場所です。

if ($row['left_button_link'] == a number) 
{
printf('hello');
}

else 
{
printf('bye bye');
}

また、このステートメントに 3 番目のチェックを追加するにはどうすればよいですか。if は数値をチェックしていますが、else 文字列は "/" で始まりますが、文字列が空で文字がまったくない場合に 3 番目のオプションが必要な場合は、どうすれば追加できますか?

助けてくれてありがとう。

4

7 に答える 7

3

必要なことを行うための組み込み関数があります。

  • is_numeric()が数値かどうかを確認するには、
  • substr()または、最初の文字が何かであるかどうかを確認するための similr
  • empty()文字列が空かどうかをチェックする

数値かどうかを確認する:

if( is_numeric(substr($string,0, 1))  ){

echo "it is a number";

}

NB が以下にコメントしたように、文字列を配列として扱うことができ、これも機能するはずです。

if( is_numeric($string[0]) ) {

    echo "it is a number";

}

したがって、これらすべてを適用すると、コードは次のようになります。

$var = $row['left_button_link'];

if( is_numeric($var[0]) ) 
{
    echo "It starts with a number!";
}
elseif ( $var[0] == '/' )
{
    echo "Uh oh, first character is a slash";
}
elseif( empty($var) ) {
    echo "Bye bye";
}

お役に立てれば!

于 2013-07-26T14:31:06.850 に答える
3

is_numeric次の関数を使用できます。

is_numeric($str[0])

したがって、最終製品は次のようになります。

if (is_numeric($row['left_button_link'][0])) {  // check if first char is numeric
    printf('hello');
}
elseif ($row['left_button_link'][0] == '/') {   // check if first char is '/'
    printf('First char is /');
}
elseif (empty($row['left_button_link'])) {      // check if string is empty
    printf('Empty!');
}
else{
    printf('bye bye');
}
于 2013-07-26T14:32:08.897 に答える
0
is_numeric(substr($string, 0, 1))
于 2013-07-26T14:31:26.657 に答える
0

質問a のuse is_numeric()場合 質問 b の場合elseif (...)

if (is_numeric($row['left_button_link'][0])) {
    printf('hello');
    }
elseif (empty($row['left_button_link'])){
    printf('String is empty');
    }
else{
    printf('bye bye');
    }

HTH (真剣に、この単純な質問については、マニュアルで調べる必要があります)

于 2013-07-26T14:35:24.417 に答える
0
if(ctype_digit($row['left_button_link'][0]))
{
    //First char is numeric
}
else if($row['left_button_link'][0] == '/')
{
    //First char is "/"
}
else if(trim($row['left_button_link']) == '')
{
    //String is completely empty
}
else
{
    //Something else
}

文字列が空かどうかを確認するために使用する場合は注意しempty()てください。配列でのみ確実に使用できます。は '' を渡すと false を返します - の出力を '' とempty()比較する方が信頼性が高くなりますtrim()

于 2013-07-26T14:45:14.767 に答える
0
if (is_numeric(substr($row['left_button_link'], 0, 1))){
    //do something
}
于 2013-07-26T14:32:16.870 に答える
0

多分このようなもの:

if(preg_match('/^\d/,$input)) {
    echo "First char is a digit.";
}
于 2013-07-26T14:32:20.833 に答える