PHP se connecte à l'API Baidu Wenxin Yiyan pour obtenir des méthodes de tri et de filtrage personnalisées pour des types spécifiques de phrases

PHPz
Libérer: 2023-08-27 12:24:01
original
847 Les gens l'ont consulté

PHP se connecte à lAPI Baidu Wenxin Yiyan pour obtenir des méthodes de tri et de filtrage personnalisées pour des types spécifiques de phrases

PHP se connecte à l'API Baidu Wenxin Yiyan pour obtenir des méthodes de tri et de filtrage personnalisées pour des types spécifiques de phrases

Lorsque nous devons afficher certaines phrases sur un site Web ou une application, l'API Baidu Wenxin Yiyan est un très bon choix . Il propose différents types de phrases, telles que l'inspiration, l'amour, la poésie, etc., qui peuvent apporter différentes inspirations spirituelles et résonances émotionnelles aux utilisateurs. Cet article explique comment utiliser PHP pour se connecter à l'API Baidu Wenxin Yiyan et implémenter des méthodes de tri et de filtrage personnalisées.

Tout d'abord, nous devons demander la clé d'accès de l'API Baidu Wenxin Yiyan. Enregistrez-vous et créez une nouvelle application sur le site Web Baidu AI Open Platform, puis obtenez la clé API et la clé secrète dans l'application.

Ensuite, nous pouvons utiliser la bibliothèque curl de PHP pour nous connecter à l'API Baidu Wenxin Yiyan et obtenir des données de phrases. Ce qui suit est un exemple de code simple :

<?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;
?>
Copier après la connexion

Dans cet exemple de code, nous utiliserons la phrase de type amour comme exemple. Vous pouvez la remplacer par d'autres types si nécessaire, comme inspirant, triste, etc. Dans le même temps, vous devez également remplacer YOUR_API_KEY et YOUR_SECRET_KEY par la clé API et la clé secrète que vous avez obtenues sur la plateforme ouverte Baidu AI.

Après avoir exécuté le code ci-dessus, vous obtiendrez les données JSON renvoyées, qui contiennent plusieurs phrases. Maintenant, implémentons des méthodes de tri et de filtrage personnalisées.

La première est la méthode de tri personnalisée. Supposons que nous voulions trier selon la longueur des phrases, nous pouvons modifier le code comme suit :

// 输出结果
$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'] . "
";
}
Copier après la connexion

Dans cet exemple, la fonction customSort est la méthode de tri personnalisée que nous avons définie pour comparer les longueurs de deux phrases. La fonction usort utilisera cette méthode de tri personnalisée pour le tri. Enfin, nous utilisons une boucle foreach pour parcourir les résultats triés et les afficher.

La prochaine étape est la méthode de filtrage personnalisée. Supposons que nous souhaitions afficher uniquement les phrases dont la longueur est supérieure à 10, nous pouvons modifier le code comme suit :

// 输出结果
$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'] . "
";
}
Copier après la connexion

Dans cet exemple, la fonction customFilter est une méthode de filtrage personnalisée que nous avons définie pour déterminer si la longueur de la phrase est supérieure à 10. La fonction array_filter utilisera cette méthode de filtrage personnalisée pour filtrer. Enfin, nous utilisons une boucle foreach pour parcourir les résultats filtrés et les afficher.

Pour résumer, nous nous connectons à l'API Baidu Wenxin Yiyan pour obtenir des types de phrases spécifiques et implémenter des fonctions de tri et de filtrage personnalisées. En modifiant les paramètres dans le code, vous pouvez obtenir de manière flexible différents types de phrases et les trier et filtrer selon vos besoins. J'espère que cet article a aidé tout le monde à utiliser l'API Baidu Wenxinyiyan dans le développement PHP.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!