我正在尝试获取给定字符串中的字母位置,并计算字符串的全长并获得整数字母的位置(如索引)
例如,Talha = 5长度,找到T = 1
<?php
if(isset($_POST['sub']))
{
$n = $_POST['name'];
$f = $_POST['f'];
$s = strlen($n);
$res = strpos($f,$n);
}else{
echo "error";
}
?>
<form method="post">
<input type="text" name="name" placeholder="name" />
<br>
<input type="text" name="f" placeholder="find" />
<input type="submit" name="sub" />
<?php
if(isset($_POST['sub']))
{
echo "total words are". $s. "Your word is". $res;
}
?>
</form>
答案 0 :(得分:0)
我唯一看到的错误就是你的论点倒退了。你正在做strpos(针,干草堆)。论点是这样的:
strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
干草堆是你想看的地方,针是你想要查找的。所以你必须这样做:
strpos($n, $f);
您想要搜索$ n,$ f。
编辑:另外,strlen不会为你提供单词总数,而是字符数。您必须使用此功能:PHP - str_word_count
答案 1 :(得分:0)
你有错误的strpos参数;
应该是:
$res=strpos($n,$f)
此外,如果您希望答案是人类可用的,您可能希望将$ res递增一:
$res=strpos($n,$f)+1
当strpos将第一个字符视为位置零(0)
时答案 2 :(得分:0)
这里的答案是对的, 对于你在php上问什么,你应该使用strpos
但是,如果你想向用户展示你应该使用javascript或jquery 在这里你有一个关于javascript的代码
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Search for Name</button>
<p id="demo"></p>
<script>
function myFunction() {
var name = "saikios.";
var n = name.indexOf("k");
document.getElementById("demo").innerHTML = n;
}
</script>
</body>
</html>
答案 3 :(得分:0)
你需要这样的东西吗?
<form method="POST" action="">
Char to search: <input type="text" name="char" /><br />
Srting: <input type="text" name="name" /><br />
<input type="submit" name="sub" value="submit" />
</form>
<?php
if (isset($_POST['sub'])) {
if (strpos($_POST["name"], $_POST["char"]) !== false) {
$words = explode(" ", trim($_POST["name"]));
$wordsCnt = count($words);
echo "total words are " . $wordsCnt."<br/>";
echo "Name is: " . $_POST["name"]."<br/>";
echo "Char what you search is " . $_POST["char"]."<br/>";
echo "I found the first occurance your char at " . strpos($_POST["name"], $_POST["char"]);
} else {
echo "I do not found the character in the name!";
}
}
因此,如果我将a
写入char并Haystack
来命名,您将获得:
total words are 1
Name is: Haystack
Char what you search is a
I found the first occurance your char at 1