Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter une fonction de recherche de première lettre en pinyin ?

Comment utiliser PHP pour implémenter une fonction de recherche de première lettre en pinyin ?

WBOY
WBOYoriginal
2023-09-05 16:10:511410parcourir

Comment utiliser PHP pour implémenter une fonction de recherche de première lettre en pinyin ?

Comment utiliser PHP pour implémenter une fonction de recherche de lettres initiales Pinyin ?

La fonction de recherche de lettres initiales Pinyin est très courante dans de nombreuses applications, en particulier dans des scénarios tels que les listes de contacts ou les recherches de produits. Cet article explique comment utiliser PHP pour implémenter une fonction de recherche de première lettre en pinyin.

L'idée de mise en œuvre de la fonction de recherche de lettres initiales pinyin est la suivante : en fonction des mots-clés saisis par l'utilisateur, faites correspondre les mots-clés avec les lettres initiales pinyin de la liste pour filtrer les résultats qui remplissent les conditions.

Tout d'abord, nous devons préparer une source de données, qui peut être un tableau ou une table de base de données. En prenant la liste de contacts comme exemple, nous pouvons créer un tableau contenant le nom et les initiales Pinyin :

$contactList = [
    ['name' => '张三', 'pinyin' => 'zs'],
    ['name' => '李四', 'pinyin' => 'ls'],
    ['name' => '王五', 'pinyin' => 'ww'],
    // 其他联系人...
];

Ensuite, nous pouvons recevoir les mots-clés saisis par l'utilisateur via une zone de saisie et les convertir en initiales Pinyin. Une bibliothèque de conversion pinyin open source est utilisée ici, telle que la bibliothèque « overtrue/pinyin ».

require_once 'vendor/autoload.php'; // 加载拼音转换库

use OvertruePinyinPinyin;

$pinyin = new Pinyin();
$keyword = isset($_POST['keyword']) ? trim($_POST['keyword']) : '';

if ($keyword) {
    $keywordPinyin = implode('', $pinyin->convert($keyword, Pinyin::DEFAULT_MODE)) // 将关键字转换为拼音
    // 进行搜索逻辑...
}

Dans la logique de recherche, nous pouvons parcourir la liste de contacts et vérifier si la première lettre pinyin de chaque contact correspond au mot-clé. Si la correspondance réussit, le contact est ajouté au tableau des résultats.

$results = [];

foreach ($contactList as $contact) {
    if (stripos($contact['pinyin'], $keywordPinyin) === 0) {
        $results[] = $contact;
    }
}

Enfin, nous pouvons afficher les résultats de la recherche.

if (count($results) > 0) {
    echo "<ul>";
    foreach ($results as $result) {
        echo "<li>{$result['name']}</li>";
    }
    echo "</ul>";
} else {
    echo "没有找到符合条件的联系人";
}

À ce stade, nous avons complété une simple fonction de recherche de première lettre en pinyin. Les utilisateurs peuvent saisir des mots-clés pour filtrer les contacts qualifiés en fonction de la première lettre du pinyin.

Pour résumer, il n'est pas compliqué d'utiliser PHP pour implémenter une fonction de recherche de première lettre en pinyin. Utilisez la bibliothèque de conversion Pinyin pour convertir des mots-clés en initiales Pinyin et comparez-les avec les initiales Pinyin de la source de données pour filtrer les résultats qui répondent aux conditions. J'espère que cet article vous sera utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn