我需要?jiǎng)?chuàng)建搜索框,但是使用 strpos 函數(shù)是有問題的。例如,當(dāng)我鍵入 name Jane 時(shí),沒有結(jié)果,searchResult 數(shù)組為空,但是當(dāng)我鍵入 ane (沒有第一個(gè)字符)時(shí),它正在工作。函數(shù) stristr 可以正常工作,但我需要使用 strpos()。這是我的代碼,我有 3 個(gè)文件:index.php、script.js、server.php。//index.php<?php?><!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Profit | Homework | AJAX</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script></head><body> <input type="text" class="inp"> <div class="result"></div></body> <script src="script.js"></script></html>//script.js$(".inp").on("input", function(){ let val = $(this).val(); $.ajax({ type: "post", url: "server.php", data: {value: val}, success: function(r) { r = JSON.parse(r); console.log(r); $(".result").empty(); r.forEach(function(i){ $(".result").append(`<div> <h1> ${i.name} </h1> <h2> ${i.surname} </h2> <img src="${i.img}" width="200" heigth="200"> </div>`) }) } })})//server.php<?php class Search { function __construct(){ $this->arr = [["name" => "Jane", "surname" => "Brown", "img" => "img/manager-1.png"], ["name" => "Bob", "surname" => "Crown", "img" => "img/Business-Man-Clipart-PNG-Image.png"], ["name" => "Mike", "surname" => "Ford", "img" => "img/lending-img.png"]]; $this->searchResult = []; if ($_SERVER["REQUEST_METHOD"] == "POST") { $searchText = $_POST["value"]; if (strlen($searchText) != 0){ foreach ($this->arr as $value) { if (strpos($value["name"], $searchText) || strpos($value["surname"], $searchText)){ $this->searchResult[] = $value; } } } print json_encode($this->searchResult); } } } $x = new Search;?>
PHP 函數(shù) strpos() 和 stristr()
慕田峪9158850
2021-08-28 15:32:25