現在の位置: ホーム> 最新記事一覧> PHPチュートリアル:効率的なPinyinの最初の文字検索機能の詳細な説明

PHPチュートリアル:効率的なPinyinの最初の文字検索機能の詳細な説明

M66 2025-06-24

PINYINの最初の文字検索機能を実現するPHPのアプリケーションシナリオ

Pinyinの最初の文字検索は、多くのアプリケーション、特に連絡先リスト、製品検索、その他のシナリオで一般的な機能です。この記事では、PHPを使用してこの関数を実装して、Pinyinの最初の文字に基づいて開発者が簡単に検索システムを構築できるようにする方法を紹介します。

ピニインの最初の文字を検索するという核となるアイデア

Pinyinの最初の文字検索を実現するための鍵は、ユーザーが入力した検索キーワードをPinyinの最初の文字に変換し、データソースのPinyinの最初の文字と一致させて、基準を満たす結果を除外することです。

データソースの例を準備します

まず、データソースを準備する必要があり、配列またはデータベーステーブルを使用して連絡先情報を保存できます。この例では、名前とその対応する最初の文字を含む、連絡先リストを例に挙げてください。
$ contactlist = [
    ['name' => 'Zhang San'、 'pinyin' => 'zs']、
    ['name' => 'li si'、 'pinyin' => 'ls']、
    ['name' => 'wang wu'、 'pinyin' => 'ww']、
    //彼の連絡先...
];

Pinyin変換ライブラリを導入し、入力を取得します

入力ボックスを介してユーザーキーワードを受信した後、Pinyin変換ライブラリ(「Overtrue/Pinyin」など)を使用して、キーワードをPinyinの最初の文字に変換して、その後のマッチングを容易にします。
require_once 'vendor/autoload.php'; // Pinyin変換ライブラリをロードして、Overtrue \ Pinyin \ Pinyinを使用します。

$ pinyin = new pinyin();
$ keyword = isset($ _ post ['keyword'])? trim($ _ post ['keyword']): '';

if($ keyword){
    $ keywordpinyin = inprode( ''、$ pinyin-> convert($ keyword、pinyin :: default_mode));
    //検索ロジックを実施...
}

Pinyinの最初のレターマッチ検索を実現します

連絡先リストを通過すると、各連絡先のピニインの最初の文字が入力ピニインの最初の文字から始まるかどうかを確認します。試合が成功した場合、コンタクトが結果セットに追加されます。
$ results = [];

foreach($ contactlist as $ contact){
    if(spripos($ contact ['pinyin']、$ keywordpinyin)=== 0){
        $ results [] = $ contact;
    }
}

検索結果を表示します

最後に、一致する連絡先の結果がユーザーに表示されます。一致するコンテンツが見つからない場合、ユーザーは関連情報を求められます。
if(count($ results)> 0){
    エコー」<ul> ";
    foreach($ results as $ result){
        エコー」<li> {$ result [&#39;name&#39;]}</li> ";
    }
    エコー」</ul> ";
} それ以外 {
    エコー「基準を満たす触るは見つかりませんでした」。
}

要約します

この記事では、PINYIN変換ライブラリと組み合わせてPHPを使用する方法を紹介し、シンプルだが実用的なPinyinの最初の文字検索機能を実現します。入力キーワードをPinyinの最初の文字に変え、データソースに一致させることにより、連絡先をすばやくフィルタリングします。このソリューションは、連絡先検索に適しているだけでなく、製品や記事などのさまざまな検索シナリオにも適用でき、検索エクスペリエンスと効率を大幅に改善できます。