ホームページ  >  記事  >  バックエンド開発  >  PHP は Baidu Wenxin Yiyan API に接続し、特定の種類の文に対するカスタムの並べ替えおよびフィルター方法を取得します。

PHP は Baidu Wenxin Yiyan API に接続し、特定の種類の文に対するカスタムの並べ替えおよびフィルター方法を取得します。

PHPz
PHPzオリジナル
2023-08-27 12:22:47850ブラウズ

PHP は Baidu Wenxin Yiyan API に接続し、特定の種類の文に対するカスタムの並べ替えおよびフィルター方法を取得します。

PHP は Baidu Wenxin Yiyan API に接続して、特定の種類の文に対するカスタムの並べ替えおよびフィルタリング メソッドを取得します

Web サイトまたはアプリケーションでいくつかの文を表示する必要がある場合、 Baidu Wenxinyiyan API は非常に良い選択です。インスピレーション、愛、詩など、さまざまなタイプの文章を提供し、ユーザーにさまざまな精神的なインスピレーションや感情的な共鳴をもたらすことができます。この記事では、PHP を使用して Baidu Wenxin Yiyan API に接続し、カスタムの並べ替えおよびフィルタリング メソッドを実装する方法を紹介します。

まず、Baidu Wenxin Yiyan API のアクセス キーを申請する必要があります。 Baidu AI Open Platform Web サイトに新しいアプリケーションを登録して作成し、アプリケーション内の API キーとシークレット キーを取得します。

次に、PHP のカール ライブラリを使用して、Baidu Wenxin Yiyan API に接続し、文章データを取得します。以下に簡単なコード例を示します:

<?php
    $url = 'https://aip.baidubce.com/rpc/2.0/creation/v1/get_sentence';
    $api_key = 'YOUR_API_KEY';
    $secret_key = 'YOUR_SECRET_KEY';

    $type = 'love'; // 这里可以根据需要替换成其他类型的句子
    
    $params = [
        'type' => $type
    ];
    
    $headers = [
        'Content-Type: application/json',
        'charset: UTF-8'
    ];
    
    // 生成签名
    $timestamp = time();
    $signature = md5($api_key . $timestamp . $secret_key);
    
    $headers[] = 'X-Mock-Appid: 123456'; // 这里可以根据需要修改成自己的AppID
    $headers[] = 'X-Token: ' . $signature;
    $headers[] = 'X-Timestamp: ' . $timestamp;
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    curl_close($ch);

    // 输出结果
    echo $result;
?>

このサンプル コードでは、愛のタイプの文を例として使用しますが、必要に応じて、感動、悲しいなど、他のタイプの文に置き換えることができます。同時に、YOUR_API_KEY と YOUR_SECRET_KEY を、Baidu AI オープン プラットフォームで取得した API キーと秘密キーに置き換える必要もあります。

上記のコードを実行すると、複数の文を含む JSON データが返されます。次に、カスタムの並べ替えおよびフィルター処理メソッドを実装しましょう。

1 つ目はカスタム並べ替え方法です。文の長さで並べ替えたいと仮定すると、コードを次のように変更できます。

// 输出结果
$result = json_decode($result, true);
$sentences = $result['sentences'];

// 自定义排序方法
function customSort($a, $b) {
    $aLength = mb_strlen($a['content'], 'utf-8');
    $bLength = mb_strlen($b['content'], 'utf-8');
    
    if ($aLength == $bLength) {
        return 0;
    }
    
    return ($aLength < $bLength) ? -1 : 1;
}

// 使用自定义排序方法进行排序
usort($sentences, 'customSort');

// 输出排序后的结果
foreach ($sentences as $sentence) {
    echo $sentence['content'] . "
";
}

この例では、customSort 関数は、2 つの文の長さを比較するために定義したカスタム並べ替えメソッドです。 usort 関数は、ソートにこのカスタム ソート メソッドを使用します。最後に、foreach ループを使用して、並べ替えられた結果を反復処理し、出力します。

次はカスタム フィルタリング方法です。長さが 10 を超える文のみを表示したいとします。次のようにコードを変更できます。

// 输出结果
$result = json_decode($result, true);
$sentences = $result['sentences'];

// 自定义过滤方法
function customFilter($sentence) {
    $length = mb_strlen($sentence['content'], 'utf-8');
    
    return $length > 10;
}

// 使用自定义过滤方法进行过滤
$sentences = array_filter($sentences, 'customFilter');

// 输出过滤后的结果
foreach ($sentences as $sentence) {
    echo $sentence['content'] . "
";
}

この例では、customFilter 関数は、文の長さが 10 であるかどうかを判断するために定義したカスタム フィルタリング メソッドです。 10を超える。 array_filter 関数は、このカスタム フィルタリング メソッドを使用してフィルタリングします。最後に、foreach ループを使用してフィルター処理された結果を反復処理し、出力します。

要約すると、Baidu Wenxin Yiyan API に接続して特定の種類の文を取得し、カスタムの並べ替え機能とフィルター機能を実装します。コード内のパラメータを変更することで、さまざまな種類の文を柔軟に取得し、ニーズに応じて並べ替えたりフィルタリングしたりできます。この記事が、PHP 開発で Baidu Wenxinyiyan API を使用する皆さんにとって何らかの助けになれば幸いです。

以上がPHP は Baidu Wenxin Yiyan API に接続し、特定の種類の文に対するカスタムの並べ替えおよびフィルター方法を取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。