Ankündigung

Einklappen
Keine Ankündigung bisher.

Komma getrennte Liste, jeweils 100 Einträge verarbeiten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Komma getrennte Liste, jeweils 100 Einträge verarbeiten

    Hey Pros,

    ich habe eine Komma getrennte Liste mit über 100 Einträgen (Keine doppelten) in einer Variable:

    Code:
    '2528167261,2149170848,2259317311,3658011,14271101,90370901,1975196454,17130266'
    Ich möchte mit einer foreach Schleife jeweils 100 Einträge raus ziehen und verarbeiten. Dann vom letzten Standpunkt wieder weiter machen, bis die Liste durchgegangen ist.

    Gibt es wie beim Array (current,next) eine Möglichkeit das zu machen?

    Ansonsten wäre mein Ansatz:

    - Zählen bis 100
    - letzten Eintrag merken
    - Vearbeiten
    - In der Variable wieder den Eintrag finden
    - Von vorne beginnen.

    Ich mach es mir bestimmt zu kompliziert, das geht doch einfacher oder?


  • #2
    Was spricht gegen ein explode() auf den Beistrich und dann immer 100 Werte im daraus entstandenen Array verarbeiten? Warum eigenltich immer 100?

    Die haben einen Index/Key, sind darüber greifbar, man kann array_slice(), foreach() verwenden etc etc..
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      *deleted* hausl war schneller

      Kommentar


      • #4
        explode + array_chunk

        Kommentar


        • #5
          strtok() würde auch gehen
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Zitat von hausl Beitrag anzeigen
            Was spricht gegen ein explode() auf den Beistrich und dann immer 100 Werte im daraus entstandenen Array verarbeiten? Warum eigenltich immer 100?

            Die haben einen Index/Key, sind darüber greifbar, man kann array_slice(), foreach() verwenden etc etc..
            Meine Unwissenheit Deswegen Frage ich nach. Aber dann muss ich es also in ein Array konvertieren und wieder zurück. Dachte es ist irgendwie ohne möglich.

            Kommentar


            • #7
              Zitat von lstegelitz Beitrag anzeigen
              strtok() würde auch gehen
              Das sieht auch interessant aus, Danke.

              Kommentar


              • #8
                Bleibt halt die Frage was du damit machst und warum 100 etc
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Zitat von hausl Beitrag anzeigen
                  Bleibt halt die Frage was du damit machst und warum 100 etc
                  Twitter Api, checken ob die User mir folgen/ich ihnen folge. Die Abfrage ist auf 100 Einträge limitiert

                  PHP-Code:
                      $diffuser config('user.diff');
                      
                  $isfriend Twitter::getFriendshipsLookup(['user_id' => $diffuser'format' => 'array']); 

                  Kommentar


                  • #10
                    ich habe eine Komma getrennte Liste mit über 100 Einträgen (Keine doppelten) in einer Variable:
                    (...)
                    Ich möchte mit einer foreach Schleife jeweils 100 Einträge raus ziehen und verarbeiten. Dann vom letzten Standpunkt wieder weiter machen, bis die Liste durchgegangen ist.
                    (...)
                    Die Abfrage ist auf 100 Einträge limitiert
                    Wieso willst Du zählen, das macht doch twitter für dich ?
                    twitter api abfragen, die hundert ergebnissebnisse verarbeiten, gegebenenfalls speichern....





                    Kommentar


                    • #11
                      Zitat von tomBuilder Beitrag anzeigen

                      Wieso willst Du zählen, das macht doch twitter für dich ?
                      twitter api abfragen, die hundert ergebnissebnisse verarbeiten, gegebenenfalls speichern....
                      PHP-Code:
                      config('user.diff'); 
                      Hat 169 Einträge

                      PHP-Code:
                      $isfriend 
                      Darf aber nur max. 100 Einträge haben, also Teil ich es auf und verarbeite ich es nach und nach.
                      Wenn ich alle Einträge reinlade bekomme ich einen API Error.

                      Kommentar


                      • #12
                        jetzt hab ich es verstanden.
                        Und was kommt raus, wenn Du die Argumente weg lässt ?

                        Kommentar


                        • #13
                          Zitat von tomBuilder Beitrag anzeigen
                          jetzt hab ich es verstanden.
                          Und was kommt raus, wenn Du die Argumente weg lässt ?
                          Ich weiß nicht genau warum du das wissen möchtest aber hier:

                          leer.PNG
                          Leer

                          Und mit Ausgabe:
                          follow.png
                          User ist follower und ich folge ihm.

                          Kommentar


                          • #14
                            Zitat von chim Beitrag anzeigen

                            Ich weiß nicht genau warum du das wissen möchtest aber hier:
                            Danke. Das die Argumente optional sind habe ich gedacht da kommt was raus, alle Freunde von Freunden oder so.
                            Eine komplett leere Antwort hätte ich nicht erwartet.

                            Kommentar


                            • #15
                              Zitat von tomBuilder Beitrag anzeigen
                              Danke. Das die Argumente optional sind habe ich gedacht da kommt was raus, alle Freunde von Freunden oder so.
                              Eine komplett leere Antwort hätte ich nicht erwartet.
                              Nein da gibt es keine Ausweichmöglichkeit, das Script fragt bei der API den aktuellen Freundschafts/Follow Status des Users in der Variable $user mit dem aktuell Authentifizierten User (Ich) ab.


                              Zur Komplettierung des Posts, danke für eure Hilfe, es funktioniert alles wie es soll:

                              PHP-Code:
                              Route::get('/userdiff', function ()
                              {    
                                  
                              // /friendships/lookup = 13 von 15 - Aktuell 2 Listen (100 + 69) - Hier muss noch eine Abfrage rein nach dem Lookup, sonst ratelimit exceed
                                  
                              $diffuser config('user1.diff');
                                  
                              $count substr_count$diffuser",") +1//169 User
                                  
                              $parts explode(",",$diffuser);
                                  
                              $ergebnis array_chunk($parts,100);    
                                  
                              $countarray count($ergebnis); //2 Gruppen
                                  
                              $i 0;

                                  foreach(
                              $ergebnis as $user){
                                      
                              $isfriend[] = Twitter::getFriendshipsLookup(['user_id' => $user'format' => 'array']);
                                  }
                                  return 
                              view('userdiff'compact('isfriend','countarray','i'));


                              }); 

                              Kommentar

                              Lädt...
                              X