Heim  >  Artikel  >  Backend-Entwicklung  >  PHP stellt eine Verbindung zur Baidu Wenxin Yiyan API her, um benutzerdefinierte Sortier- und Filtermethoden für bestimmte Satztypen zu erhalten

PHP stellt eine Verbindung zur Baidu Wenxin Yiyan API her, um benutzerdefinierte Sortier- und Filtermethoden für bestimmte Satztypen zu erhalten

PHPz
PHPzOriginal
2023-08-27 12:22:47850Durchsuche

PHP stellt eine Verbindung zur Baidu Wenxin Yiyan API her, um benutzerdefinierte Sortier- und Filtermethoden für bestimmte Satztypen zu erhalten

PHP stellt eine Verbindung zur Baidu Wenxin Yiyan-API her, um benutzerdefinierte Sortier- und Filtermethoden für bestimmte Satztypen zu erhalten.

Wenn wir einige Sätze auf einer Website oder Anwendung anzeigen müssen, ist die Baidu Wenxin Yiyan-API eine sehr gute Wahl. Es bietet verschiedene Arten von Sätzen wie Inspiration, Liebe, Poesie usw., die den Benutzern unterschiedliche spirituelle Inspiration und emotionale Resonanz bringen können. In diesem Artikel wird erläutert, wie Sie mit PHP eine Verbindung zur Baidu Wenxin Yiyan-API herstellen und benutzerdefinierte Sortier- und Filtermethoden implementieren.

Zunächst müssen wir den Zugriffsschlüssel der Baidu Wenxin Yiyan API beantragen. Registrieren Sie sich und erstellen Sie eine neue Anwendung auf der Baidu AI Open Platform-Website. Erhalten Sie dann den API-Schlüssel und den geheimen Schlüssel in der Anwendung.

Als nächstes können wir die Curl-Bibliothek von PHP verwenden, um eine Verbindung zur Baidu Wenxin Yiyan API herzustellen und Satzdaten abzurufen. Das Folgende ist ein einfaches Codebeispiel:

<?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;
?>

In diesem Beispielcode verwenden wir den Satz vom Typ „Liebe“ als Beispiel. Sie können ihn bei Bedarf durch andere Typen ersetzen, z. B. „inspirierend“, „traurig“ usw. Gleichzeitig müssen Sie auch YOUR_API_KEY und YOUR_SECRET_KEY durch den API-Schlüssel und den Geheimschlüssel ersetzen, die Sie auf der offenen Baidu AI-Plattform erhalten haben.

Nachdem Sie den obigen Code ausgeführt haben, erhalten Sie die zurückgegebenen JSON-Daten, die mehrere Sätze enthalten. Lassen Sie uns nun benutzerdefinierte Sortier- und Filtermethoden implementieren.

Die erste ist die benutzerdefinierte Sortiermethode. Angenommen, wir möchten Sätze nach der Länge sortieren, können wir den Code wie folgt ändern:

// 输出结果
$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'] . "
";
}

In diesem Beispiel ist die Funktion „customSort“ die benutzerdefinierte Sortiermethode, die wir definiert haben, um die Längen zweier Sätze zu vergleichen. Die Funktion usort verwendet diese benutzerdefinierte Sortiermethode zum Sortieren. Schließlich verwenden wir eine foreach-Schleife, um die sortierten Ergebnisse zu durchlaufen und sie auszugeben.

Der nächste Schritt ist die benutzerdefinierte Filtermethode. Angenommen, wir möchten nur Sätze anzeigen, deren Länge größer als 10 ist, können wir den Code wie folgt ändern:

// 输出结果
$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'] . "
";
}

In diesem Beispiel ist die Funktion „customFilter“ eine benutzerdefinierte Filtermethode, die wir definiert haben, um zu bestimmen, ob die Satzlänge größer als 10 ist. Die Funktion array_filter verwendet diese benutzerdefinierte Filtermethode zum Filtern. Schließlich verwenden wir eine foreach-Schleife, um die gefilterten Ergebnisse zu durchlaufen und sie auszugeben.

Zusammenfassend stellen wir eine Verbindung zur Baidu Wenxin Yiyan-API her, um bestimmte Arten von Sätzen zu erhalten und benutzerdefinierte Sortier- und Filterfunktionen zu implementieren. Durch Ändern der Parameter im Code können Sie flexibel verschiedene Arten von Sätzen erhalten und diese entsprechend Ihren Anforderungen sortieren und filtern. Ich hoffe, dass dieser Artikel allen bei der Verwendung der Baidu Wenxinyiyan-API in der PHP-Entwicklung geholfen hat.

Das obige ist der detaillierte Inhalt vonPHP stellt eine Verbindung zur Baidu Wenxin Yiyan API her, um benutzerdefinierte Sortier- und Filtermethoden für bestimmte Satztypen zu erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn