多言語のWebサイトまたはアプリケーションを開発する場合、プログラマーは多くの場合、異なる言語を切り替えるか、対応する翻訳されたテキストを見つける必要があります。 PHPでは、英語と中国語の比較テーブルなどの言語マッピングアレイがある場合は、中国語に基づいて英語をバックチェックすることをお勧めします。この時点で、 array_flip()関数は役立ちます。
array_flip()は、配列にキーと値を交換するPHP内蔵機能です。つまり、元の値は新しいキーになり、元のキーは新しい値になります。
構文は次のとおりです。
array array_flip(array $array);
注:元の配列に複製値がある場合、 array_flip()は前のキーを上書きして最後のキーを保持します。
あなたが中国語から中国語のマッピングアレイを持っていると想像してください:
$translations = [
'hello' => 'こんにちは',
'goodbye' => 'さようなら',
'thank_you' => 'ありがとう',
'welcome' => 'いらっしゃいませ'
];
「ありがとう」と入力して「ありがとう」を取得するなど、中国語に基づいて英語のキーワードを確認したいと考えています。
あなたはこれを行うことができます:
$flipped = array_flip($translations);
// ユーザーが中国語に入ると仮定します
$userInput = 'ありがとう';
if (isset($flipped[$userInput])) {
echo "対応する英語キーはです:" . $flipped[$userInput];
} else {
echo "対応する英語のキーワードは見つかりません。";
}
出力は次のとおりです。
対応する英語キーはです:thank_you
あなたのウェブサイトが多言語のインターフェイスを提供していると仮定すると、あなたはURLの言語識別子を渡すことができます:
https://m66.net/api/translate.php?lang=zh&text=ありがとう
バックエンドはarray_flip()を使用して、英語のキーワードをすばやく一致させ、フロントエンドに戻すことができます。
元の配列内の値が一意であることを確認してください。そうしないと、逆キーが失われる可能性があります。
アレイを反転させると、特にアレイが大きい場合は、時間内にキャッシュすることをお勧めします。
より複雑な言語マッピング(関連するコンテキストや複数形など)には、GetTextやLaravelのLangシステムなどのより専門的な翻訳ソリューションを考慮する必要があります。
array_flip()を使用すると、言語マッピングのバックチェック操作を簡単に実装できます。キー価値ペアのインターチェンジは、1行のコードでのみ行われます。これは、翻訳されたテキストをすばやく切り替えるか見つける必要がある多言語システムに非常に実用的です。
この記事がPHPの多言語処理スキルをよりよく習得できることを願っています!