cari

Rumah  >  Soal Jawab  >  teks badan

Gabungkan tatasusunan yang dibuat menggunakan Google Drive NextPageToken menjadi satu tatasusunan

<p>Saya mempunyai kod berikut untuk memuat turun fail daripada Google Drive, bilangan fail ditentukan oleh nextPageToken seperti yang ditunjukkan di bawah. </p> <p>Kod akan terus menambah tatasusunan pada tatasusunan $files sehingga nextPageToken adalah batal. Pada ketika ini, saya mempunyai bilangan sub-tatasusunan yang tidak diketahui yang saya ingin gabungkan ke dalam tatasusunan tunggal tanpa menggelung melalui semua tatasusunan yang dikembalikan - adakah terdapat cara mudah untuk mencapai ini menggunakan PHP? </p> <p>Jadi, dalam kod di bawah, saya mahu $files[] menjadi satu tatasusunan. Contohnya: </p> <p><kod>$result = array_merge($files); </code>hanya akan menghasilkan hasil yang sama</p> <pre class="brush:php;toolbar:false;">``` $nextPageToken = "kosong" manakala ( $nextPageToken != null) { $responseFiles = $drive->ListFiles( $optParams); $nextPageToken = $responseFiles->getNextPageToken(); $files[] = $responseFiles->getFiles(); $optParams = array( 'fields' => "nextPageToken, fail(contentHints/thumbnail,fileExtension,iconLink,id,name,saiz,thumbnailLink,webContentLink,webView Link,mimeType,parents)", 'q' ="'".$match[0]."' dalam ibu bapa", 'pageToken' => $nextPageToken, 'orderBy' => 'deskripsi Masa yang diubah suai, nama' ); } ```</pre></p>
P粉872101673P粉872101673470 hari yang lalu557

membalas semua(1)saya akan balas

  • P粉805931281

    P粉8059312812023-08-14 16:48:10

    Buat tatasusunan $files kosong sebelum gelung, kemudian cantumkan dan kembalikan dalam setiap gelung seperti di bawah.

    $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";
    }
    

    Lihat dokumentasi API untuk array_merge untuk maklumat lanjut.

    balas
    0
  • Batalbalas