0

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

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

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

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

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

感谢你们对我的帮助。

4

4 回答 4

1

您可以substr()按如下方式使用:

代码:

$char1 = substr($str, 0, 1); //getting first character

if(is_numeric($char1){
    //execute num1()
    num1();
}
elseif ($char1 == '.') {
    //execute num1()
    num2();
}
于 2013-07-20T18:37:17.773 回答
0

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

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

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

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

于 2013-07-20T18:37:41.423 回答
0

我会用strpos()

<?php
$StringFromService;
$str = "Hello Europe";
$Search = strpos($StringFromService;, $str);

if ($Search === true) {
    // run function
} 
?>
于 2013-07-20T18:40:46.813 回答
-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'
}
于 2013-07-20T18:36:39.450 回答