【问题标题】:How to recognize or detect the characters in PHP?如何识别或检测 PHP 中的字符?
【发布时间】:2026-01-28 20:35:01
【问题描述】:

我有一个连接到网络服务的网站,我需要识别在我的代码中收到的字符。

例如,我收到这样的消息:

$str = "Hello Europe";
or :
$str = "4 times !";
or :
$str = "452231";
or :
$str= "*Majid SH";
or ...

我希望我的代码能够理解我的消息开头的字符,并执行 a 函数对应一个特殊字符。

例如,如果它是由一个字符串开始的,则执行函数num1,或者如果它是由'.' 开始的。 [点],做功能num2

谢谢你帮助我。

【问题讨论】:

  • @Simon_eQ,不敢相信您的编辑保留了该标题:/
  • @brasofilo 嗯?我没看到哈哈

标签: php


【解决方案1】:
$str = 'value'; // value
$firstChar = substr($str, 0, 1);

if (is_numeric($firstChar)) {
    // do something numeric'
} else if ($firstChar === '.') {
    // do something dot'
} else {
    // do something string'
}

【讨论】:

    【解决方案2】:

    你可以使用substr()如下:

    代码:

    $char1 = substr($str, 0, 1); //getting first character
    
    if(is_numeric($char1){
        //execute num1()
        num1();
    }
    elseif ($char1 == '.') {
        //execute num1()
        num2();
    }
    

    【讨论】:

      【解决方案3】:

      如果您想了解字符是否是逗号或句点等特定事物,您应该使用switch。还要理解字符串可以简单地被认为是 Char 数组,因此您可以简单地调用 $str[0] 来获取第一个字符(参见 here。)

      switch ($str[0]) {
         case ",":
            num1();
            break;
         case ".": 
            num2();
            break;
      }
      

      您可以不断制作不同的案例来处理不同的情况。只需确保在每个案例之间都包含一个休息时间。

      如果你想检查某个东西是否是一个字符串,我相信有一个 is_string 但为此你可能需要使用 substr 就像许多其他人推荐的那样,因为 $str[0] 我相信返回一个字符而不是字符串,所以它不会验证。 switch 语句只是检查参数是否与使用松散比较的情况相同。如果您想要更高级的检查,您可能需要使用自己的 if 语句来检查甚至是正则表达式。希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        我会使用strpos()

        <?php
        $StringFromService;
        $str = "Hello Europe";
        $Search = strpos($StringFromService;, $str);
        
        if ($Search === true) {
            // run function
        } 
        ?>
        

        【讨论】:

          最近更新 更多