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

您可以使用strstrstristr(不区分大小写)函数,如果要搜索句子中的特定单词。

只需检查 php 手册中的strstrstrstr 即可

于 2013-01-16T10:21:09.247 回答