查看此demo
我有两个用逗号分隔的字符串列表,想要查找字符串并返回一条消息。我注意到,在特定情况下,我在查找第一个列表的第一个字符串时找不到它。如果我将该字符串移动到另一个位置,它将。不明白为什么。
$dynamic_list = "AZ, CA, CO";
$static_list = "MN,WA,IA";
$search = "AZ";
if ( strpos($dynamic_list . ',' . $static_list, $search) == false && !empty($search) ) { // check string is not empty + that it is not on any of the lists
echo 'not found: String '.$search.' was not found in lists';
} else {
echo 'found';
}
答案 0 :(得分:2)
$dynamic_list = "AZ, CA, CO";
$static_list = "MN,WA,IA";
$search = "AZ";
if ( strpos($dynamic_list . ',' . $static_list, $search) === false && !empty($search) ) { // check string is not empty + that it is not on any of the lists
echo 'not found: String '.$search.' was not found in lists';
} else {
echo 'found';
}
添加===,然后尝试
答案 1 :(得分:1)
您只需要将
===
替换为==
,那么它将检查变量类型为,这里您的strpos()
返回0
,它在您的阅读中为false如果会得到
$dynamic_list = "AZ, CA, CO";
$static_list = "MN,WA,IA";
$search = "AZ";
if ( strpos($dynamic_list . ',' . $static_list, $search) === false && !empty($search) ) {
echo 'not found: String '.$search.' was not found in lists';
} else {
echo 'found';
}
答案 2 :(得分:1)
请注意我们使用./mvnw clean install -DskipTests
./mvnw docker:build -pl spring-cloud-dataflow-server
。 ===
根本无法按预期工作,因为“ A”在“ AZ”中的位置是第0个(第一个)字符。所以==
会做的
为你在这里。让我们尝试使用===
在此处查看示例: https://www.php.net/manual/en/function.strpos.php
警告
此函数可能返回布尔FALSE,但也可能返回 非布尔值,其值为FALSE。请阅读以下内容 有关更多信息的布尔值。使用===运算符测试 该函数的返回值。
===