1

私は現在、いくつかの基本的なphp文字列関数に頭を悩ませようとしています。私は現在、ユーザー名が十分に長く入力されているかどうかを判断するこのコードを使用しています。

    if (strlen($_GET['name']) < 3) {
        echo 'First Name should be at least 3 characters long!';
        exit;
    }

そして、これはうまく機能します。特定の名前を確認したい場合は、どの文字列関数を使用すればよいですか? たとえば、誰かがフォーム フィールドに特定の単語を入力すると、メッセージをトリガーしたいと考えています。

専門家のアドバイスをいただければ幸いです。

4

5 に答える 5

5

60 個の PHP 検証関数のこのリンクは、優れたリソースです。

名前を確認する場合は、次のようなものを使用できます。

if (strtolower($_GET['name']) === 'joe') {
  // Do something for Joe
}

elseif (in_array(strtolower($_GET['name']), array('dave', 'bob', 'jane')) {
  // Do something else for Dave, Bob or Jane
}

strtolower、大文字、小文字、または大文字と小文字が混在する名前が確実に一致するようにします。

于 2013-01-16T10:13:44.137 に答える
4

そのための関数は必要ありません。ifステートメントとを使用できます==

if ( $_GET['name'] == 'Dave' )
{
  // user entered 'Dave'
}
于 2013-01-16T10:13:15.100 に答える
2

ifステートメント、または複数の名前に対してチェックする予定がある場合は、switch().

switch($_GET['name']){
    case "Eric":
        //Eric
    break;
    case "Sally":
        //Sally
    break;
    case "Tom":
        //Tom
    break;
    default:
        //Unknown
}
于 2013-01-16T10:15:08.873 に答える
2

$_GET['name']使用する前に設定されていることを確認することをお勧めします。あなたの質問に答えるために、IMOは良い方法ですin_array(needle,haystack)

<?php 

 if (!empty($_GET['name']) && strlen($_GET['name']) < 3) {
        echo 'First Name should be at least 3 characters long!';
        exit;
 }

 //From a database or preset
 $names = array('Bob','Steve','Grant');
 if(in_array($_GET['name'], $names)){
    echo 'Name is already taken!';
    exit;
 }
?>
于 2013-01-16T10:18:20.663 に答える
1

文中の特定の単語を検索する場合は、 strstrまたはstristr (大文字と小文字を区別しない) 関数を使用できます。

strstrstristrについてはphpマニュアルを確認してください。

于 2013-01-16T10:21:09.247 に答える