gpt4 book ai didi

php - 通过 if 语句 PHP 进行字符串匹配

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:14 25 4
gpt4 key购买 nike

我有一个输入文本区域,当填写并发送时,将输入的内容放入变量

$input

然后通过 if 语句检查它是否为字母 a。如果是则回显 - 你写了字母 a,否则 - 你没有写字母 a。

<?php    
$input = $_POST["textarea"];

echo $input;
echo "<br />";

if($input = "a"){
echo "You wrote a";
}else{
echo "You did not write a";
}


?>

它确实有效,但方式不对。我输入的每个字母都显示为“你写了一个”。我只希望它在用户键入 a 时回显。否则,回显 '你没有写一个' 。

编辑:当我尝试使用 == 而不是 = 时,它会针对所有内容显示“您没有写 a”。即使我输入 a.

编辑 2:当我尝试字符串比较参数时,它没有用。 我哪里出错了有什么建议吗?

两页的完整脚本:

索引.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</head>

<body>
<h1>Fun Translator</h1>

<form method="post" action="query.php">
<textarea name="textarea" id="textarea">
</textarea>
<input type="submit" name="send" value="Translate" />
</form>


</body>
</html>

查询.php

<?php
$input = $_POST["textarea"];

echo $input;
echo "<br />";

if(strcmp($input,'a')==0){
echo "You wrote a";
}else{
echo "You did not write a";
}


?>

解决方法:

修剪()

最佳答案

== 是比较条件。 = 是赋值运算符。

if($input == "a"){
echo "You wrote a";
}else{
echo "You did not write a";
}

您可能想使用 strcmp,因为它是二进制安全的。

if(strcmp($input,'a')==0){
echo "You wrote a";
}else{
echo "You did not write a";
}

http://php.net/manual/en/language.operators.comparison.php

http://php.net/manual/en/function.strcmp.php

编辑:在这里再试一次 - 在您发布的代码中(我复制粘贴它)默认情况下您的文本区域中有空格。

不要在 和 标签之间放置换行符。这会将空格添加到“a”的开头。

删除它使它在我的测试中正常工作。

编辑:根据接受的答案和重新发布的代码,trim() 实际上是删除所有前导和尾随空格的正确函数。

关于php - 通过 if 语句 PHP 进行字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5263732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com