Führen Sie mit Google Drive NextPageToken erstellte Arrays zu einem Array zusammen
P粉872101673
P粉872101673 2023-08-13 20:28:17
0
1
581
<p>Ich habe den folgenden Code zum Herunterladen von Dateien von Google Drive. Die Anzahl der Dateien wird von nextPageToken bestimmt, wie unten gezeigt. </p> <p>Der Code fügt so lange Arrays zum Array $files hinzu, bis nextPageToken null ist. Zu diesem Zeitpunkt habe ich eine unbekannte Anzahl von Unterarrays und möchte sie zu einem einzigen Array zusammenführen, ohne alle zurückgegebenen Arrays zu durchlaufen. Gibt es eine einfache Möglichkeit, dies mit PHP zu erreichen? </p> <p>Im folgenden Code möchte ich also, dass $files[] ein einzelnes Array ist. Zum Beispiel: </p> <p><code>$result = array_merge($files); </code>wird nur das gleiche Ergebnis erzeugen</p> <pre class="brush:php;toolbar:false;">``` $nextPageToken = "leer" while ( $nextPageToken != null) { $responseFiles = $drive->ListFiles( $optParams); $nextPageToken = $responseFiles->getNextPageToken(); $files[] = $responseFiles->getFiles(); $optParams = array( 'fields' => "nextPageToken, files(contentHints/thumbnail,fileExtension,iconLink,id,name,size,thumbnailLink,webContentLink,webView Link,mimeType,parents)", 'q' => "'".$match[0]."' 'pageToken' => $nextPageToken, 'orderBy' => 'modifiedTime desc, name' ); } ```</pre></p>
P粉872101673
P粉872101673

Antworte allen(1)
P粉805931281

在循环之前创建一个空的$files数组,然后像下面这样在每次循环中合并并返回。

$files = [];
$nextPageToken = "empty";

$optParams = array(
    'fields' => "nextPageToken, files(contentHints/thumbnail,fileExtension,iconLink,id,name,size,thumbnailLink,webContentLink,webView Link,mimeType,parents)",
    'pageToken' => $nextPageToken,
    'orderBy' => 'modifiedTime desc, name'
);

while ( $nextPageToken != null) {
  $responseFiles = $drive->ListFiles($optParams);
  $nextPageToken = $responseFiles->getNextPageToken();
  $files = array_merge($files, $responseFiles->getFiles());
  $optParams['q'] => "'".$match[0]."' in parents";
}

查看array_merge的API文档获取更多信息。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage