我想检查用户输入数据中特定字符串的出现。 我该怎么做。 这是我的代码:
<?php
$data = $_POST["data"];
if (strcmp("123",$data))
echo "string matches";
else if (strcmp("234",$data))
echo "string 2 matches";
else
echo"string does not match";
?>
答案 0 :(得分:2)
如果您想查看$_POST['data']
是否包含您要搜索的字符串,请执行以下操作:
<?php
$data = $_POST["data"];
if (strpos($data, "123") !== false)
echo "data contains 123";
else if (strpos($data, "234") !== false)
echo "data contains 234";
else
echo "data does not contain either";
但是,如果你想检查完全匹配,你只需要:
<?php
//...
if ($data == "123")
echo "data is equal 123";
查看strpos()
的{{3}}了解详情。对于不区分大小写的搜索,您可以使用stripos()
(i
代替“不敏感”)。
检查与false
的严格平等很重要。如果匹配从字符串中的第一个字符开始,它将返回0
,表示匹配。您需要!==
才能将0
与false
区分开来。
答案 1 :(得分:1)
试试这个,
<?php
//$data = isset($_POST["data"])?$_POST["data"]:'';
$data = "12356789";
if (strpos($data, "123")!== false){
echo "string matches";
}
else if (strpos($data, "234")!== false){
echo "string 2 matches";
} else {
echo"string does not match";
}
?>
答案 2 :(得分:0)
试试这个:
<?php
$data = $_POST["data"];
if (strcmp("123",$data) === 0)
echo "string matches";
else if (strcmp("234",$data))
echo "string 2 matches";
else
echo"string does not match";
?>