我有一个连接到网络服务的网站,我需要识别我的代码中收到的字符。
例如,我收到这样的消息:
$str = "Hello Europe";
or :
$str = "4 times !";
or :
$str = "452231";
or :
$str= "*Majid SH";
or ...
我希望我的代码能够理解我的消息所依据的字符,并且该函数对应于一个特殊字符。
例如,如果它是由字符串启动的,请执行函数num1
,或者如果它是由'。'启动的。 [dot],执行功能num2
。
感谢您帮助我。
答案 0 :(得分:1)
您可以按如下方式使用substr()
:
<强>代码:强>
$char1 = substr($str, 0, 1); //getting first character
if(is_numeric($char1){
//execute num1()
num1();
}
elseif ($char1 == '.') {
//execute num1()
num2();
}
答案 1 :(得分:0)
你应该使用switch如果你想知道角色是否是特定的东西,比如逗号或句号。还要明白,字符串可以简单地被认为是Char数组,因此您只需调用$str[0]
即可获得第一个字符(请参阅here。)
switch ($str[0]) {
case ",":
num1();
break;
case ".":
num2();
break;
}
您可以继续制作不同的案例来处理不同的情况。只要确保在每个案例之间包含休息时间。
如果你想检查某些字符串是否属于字符串,我认为有is_string但是为此你可能需要使用substr其他人推荐的$str[0]
,因为{{1}}我相信返回一个char而不是一个字符串,因此它不会验证。 switch语句只是检查参数是否与使用松散比较的情况相同。如果您想要更高级的检查,您可能需要使用自己的if语句来检查甚至正则表达式。希望这会有所帮助。
答案 2 :(得分:0)
我会使用strpos()
<?php
$StringFromService;
$str = "Hello Europe";
$Search = strpos($StringFromService;, $str);
if ($Search === true) {
// run function
}
?>
答案 3 :(得分:-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'
}