【发布时间】:2019-06-20 15:45:45
【问题描述】:
我有不同的字符串,我想在其中找到特定的数字。如果数字在字符串中,它应该打印该数字。
字符串如下:
string(9) "path_12.0"
string(9) "path_12.1"
string(9) "path_13.0"
string(9) "path_13.1"
string(9) "path_13.2"
数字是这样的:
int(12)
int(12)
int(13)
int(13)
int(13)
我尝试的是:
if (strpos(','.$mainString.',' , ','.$QuestionId.',') != FALSE) {
echo $QuestionId;
} // this doesn't print anything in the body
我也尝试了下面的技巧,但它也没有打印任何东西
if(in_array($QuestionId, explode(',', $mainString))) {
echo $QuestionId;
}
我想检查这样的事情:
if($questionId is in $mainString) {
echo $questionId;
}
注意:我在 StackOverflow 上搜索了类似的问题,但没有找到解决我问题的解决方案,因此我发布了这个问题。
【问题讨论】:
-
所以你想检查第一个和第二个字符串中是否有 12,最后三个字符串中是否有 13?我不确定我是否理解。
-
@Qirel 我正在遍历所有字符串,所以我肯定想检查所有字符串中的
questionId。 -
举个例子,
strpos(','.$mainString.',' , ','.$QuestionId.',')将提供strpos(',path_12.0,' , ',12,')你不会找到它 -
字符串周围的逗号有什么意义?
-
就像@Cid 所说,逗号没有用。使用
strpos($mainString, $QuestionId.'.')应该会导致strpos('path_12.0' , '12.')