如何在 PHP 中按关键字搜索 Json


How to search through Json by keyword in PHP?

我目前在搜索 JSON 文件时遇到问题,我正在根据搜索的单词搜索和显示院系,但它仅在我输入全名时显示值,如果我喜欢只键入前几个字符并显示名称以它开头的结果,我如何让搜索工作。

这是我的代码:

<?php
if(isset($_GET['search_word']))
{
$search_word=$_GET['search_word'];
$string = file_get_contents("faculty_info.json");
$jfo = json_decode($string);
// copy the posts array to a php var
$posts = $jfo->faculty_info;
// listing posts
foreach ($posts as $post) {
    if($post->name == "$search_word"){
    echo $post->name;
    echo "<br>";
    echo $post->division;
    echo "<br>";
    echo $post->school;
    echo "<br>";
    echo $post->designation;
    echo "<br>";
    echo $post->email;
    echo "<br>";
    echo $post->room;
    echo "<br>";
    echo "<br>";
    }
}
}
?>

试试这个

$post->name = 'How are you?';
$search_word = "How";
$pos = strpos($post->name, $search_word);
if ( $pos !== false && $pos == 0) {
   echo 'found';
   //do your script
}

您可能还希望将strpos替换为stripos,以防需要处理不区分大小写的搜索。