rsort() - array ab [0] verhindern

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

  • rsort() - array ab [0] verhindern

    hey =D
    ich hab da eine frage die ich in netz leider nicht beantowrtet finde
    habe ein array welches mir dateien auflistet und hinterher per explode inhalte einfuegt.
    aber ich bekomme leider nach einem rsort() wieder die null am anfang und das moechte ich net.
    ich weiss dass rsort() dieses macht, habe es im manual gelesen aber kann ich das irgendwie umgehen?
    oder wie koennte ich das einlesen so scripten das es von den letzten dateien anfaengt statt mit den ersten.

    PHP-Code:
    $datei_nr 1// moechte ich gerne so haben wegen weiterverarbeitung
    $fp=opendir($dir_raw);
    while(
    $datei_raw=readdir($fp)) 
        { 
        if (
    $datei_raw!="." && $datei_raw!="..")
            {
            if (
    is_file("$dir_raw/$datei_raw"))
                {
                
    $datei[$datei_nr]="$datei_raw";
                
    $datei_nr++;
                }    
            }
        } 
    closedir($fp);

    /*
    ausgabe

    [1]=>  "news_035.html"
    [2]=>  "news_036.html"
    [3]=>  "news_037.html"
    [4]=>  "news_038.html"
    */ 
    nach einem rsort()
    PHP-Code:
    /*
    ausgabe

    [0]=>  "news_038.html"
    [1]=>  "news_037.html"
    [2]=>  "news_036.html"
    [3]=>  "news_035.html"
    */ 
    wie bekomm ich die null jetzt wieder entfernt?
    habe es mit einer 2ten while versucht aber diese ist ausserhalb der
    klammern nicht so wie ich sie haben mochte sondern genau wieder so wie nach den rsort() sammt null

    also mir waere wichtig dass ich es so hinbekommen koennte
    PHP-Code:
    /*
    ausgabe

    [1]=>  "news_038.html"
    [2]=>  "news_037.html"
    [3]=>  "news_036.html"
    [4]=>  "news_035.html"
    */ 
    haettet ihr tipps fuer mich? =)

    thx =)
    -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

  • #2
    Re: rsort() - array ab [0] verhindern

    Wenn im Manual auf der Seite, die rsort beschreibt, unten "Siehe auch: [andere Funktionen]" steht - dann könntest du das vielleicht auch mal machen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wieso bestehst du auf sowas...?
      Arrays haben mit 0 anzufangen,

      Warum verwendest du nicht GLOB() ?

      -----------

      Mit array_shift und unset solltest du dir was basteln können
      *ungetestet*
      Zuletzt geändert von combie; 16.07.2007, 13:00.
      Wir werden alle sterben

      Kommentar


      • #4
        haettet ihr tipps fuer mich? =)
        arsort() und Manual lesen

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Original geschrieben von jahlives
          arsort() und Manual lesen

          Gruss

          tobi
          =D danke das hat mir arsort() geklappt =)
          keine sorge ich habe alle array functionen durchgelesen ich versuche mich an die reglen zu halten, hab nur leider die erklaerungen nicht
          alle verstanden unter anderem die von arsort()
          die hatte ich naemlich gestern abend schon versucht zu verstehen,
          dumm war nur dass ich es nicht einfach getestet habe *schaem*
          die erklarung von rsort() var besser verstaendlich deswegen hatte ich
          diese genutzt.
          nochmal thx =)

          Original geschrieben von combie
          Wieso bestehst du auf sowas...?
          Arrays haben mit 0 anzufangen,
          (^.^)
          was waere denn damit
          d = Zitrone
          a = Orange
          b = Banane
          c = Apfel
          auszug manual

          ich finde das ist das gleiche ding wie mit der "streit" um "short open taggs"
          generel sagt fast jeder benutze diese nicht, aber in wirklichkeit
          werden diese trotzdem benutzt.

          naja ist ja auch net schlimm
          jetzt funzt es ja =D

          thx bye =)
          -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

          Kommentar


          • #6
            Na na...

            Punkt1:
            In deinem Eingangspostings Anforderungen wird NICHT der $key=> $value Bezug behalten! Also hast du jetzt was anderes, als du dir zu Anfang gewünscht hast

            Punkt2:
            Das Beispiel zu arsort im Handbuch, ist etwas dull
            Weil: arsort ($fruits); dort Null Komma Null Wirkung hat !!

            Punkt3:
            Ich halte es für bedenklich assoziative und numerische Arrays "so" in einen Topf zu werfen. PHP hat da einige Fallen aufgestellt, in die man schnell mal eben Tappen kann.
            Wir werden alle sterben

            Kommentar


            • #7
              maedls wissen es doch nicht besser *mist* ;P
              und merke ich gerade das bei der dump zwar die reichenfolge sich
              geaendert hat aber nur in form von "auf dem kopf stehend" (-.'-)
              combie gut bemerkt weil das tatsaehclich nitch mit der frage hin kommt
              weil die meine antwort zu frueh abgegeben hab x(
              -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

              Kommentar


              • #8
                Was willst du?
                Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                Kommentar


                • #9
                  PHP-Code:
                  $test glob('./*.php',GLOB_NOSORT); // <<-- Pfad und Endung anpassen
                  rsort($test);                        // umdrehen
                  array_unshift($test,'dummy');        // neues Element an pos 0
                  unset($test[0]);                     // Element an pos 0 entfernen 
                  print_r($test);                 // und Zack, da isses wie gewünscht 
                  evtl hift dir dieses ja...

                  Aber weiterhin, halte ich das Index Gedöns für recht Sinnfrei!
                  1. Man verwendet zum durchlaufen von Arrays normalerweise foreach und dem ist der Key erstmal egal

                  2. Solltest du for verwenden, kannst du problemlos vorwärts und rückwarts dadurch rennen...
                  Zuletzt geändert von combie; 16.07.2007, 14:15.
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    <combie>
                    soetwas aehnliches habe ich auch gerade geschrieben nur ohne dem glob(),
                    die glob() ist ja echt toll =)
                    kannte ich leider noch net.
                    sortierung bei windows und unix wurde die unterschiede machen?
                    weil ich gelesen hab das windows anders sortiert als ein unix system.
                    ich teste es gerade local,
                    muss erst alles anpassen und denn auf server online testen.
                    ich meld mich noch wie es ausschaut =)
                    danke =)
                    </combie>

                    <tontechniker>
                    hey na =)
                    bin zwar nicht blond aber ich weiss nicht worauf du deine frage beziehst
                    </tontechniker>
                    -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                    Kommentar


                    • #11
                      weil ich gelesen hab das windows anders sortiert als ein unix system.
                      www.das-dass.de
                      windows ist im gegensatz zu unix nicht case sensitive.

                      schließe mich combies erster antwort an: mach keinen unsinn und arbeite mit arrays so, wie sie aufgebaut sind, und nicht, wie du es "schöner" findest.

                      Kommentar


                      • #12
                        sortierung bei windows und unix wurde die unterschiede machen?
                        Denke schon... darum ja auch GLOB_NOSORT
                        Und Überhaupt, einmal in PHP sortieren reicht doch! Weil glob() würde die Dateien, für dich, in falscher Reihenfolge liefern.

                        Witzige Nebenerscheinung:
                        Unter Win ist das readdir Gedöns deutlich schneller als glob()
                        Unter linux ist die Situation genau umgekehrt
                        Zuletzt geändert von combie; 16.07.2007, 14:45.
                        Wir werden alle sterben

                        Kommentar


                        • #13
                          Original geschrieben von penizillin
                          www.das-dass.de
                          das! war nur ein tippfehler ;P
                          dass! du dir aber eigentlich haettest schon denken koennen ;P

                          Original geschrieben von penizillin
                          und nicht, wie du es "schöner" findest.
                          mir geht es nicht darum ob es schoener aussieht ;P
                          sondern mir ist es so nicht so umstaendlich beim einfuegen von news
                          die exploded werden, ich habe das ganze "nicht" als sql laufen,
                          brauche ich auch nicht, denn laufen tut es spitze nur das mit der
                          sortierung und und dem [0] hat hier das ganze immer verschoben,
                          hab vor lauter +1 und -1 den ueberblick fast verloren und
                          dies ist so nun alle mal leichter und erfordert weniger code =)
                          -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                          Kommentar


                          • #14
                            sondern mir ist es so nicht so umstaendlich beim einfuegen von news
                            Ganau das verstehe ich nicht!!!
                            Du hast da irgendwie einen Bock im Konzept

                            Aber ohne den Code zu sehen oder wenigstens einen Ablaufplan kann ich dazu wenig sagen.

                            Aus meiner Sicht gibt es KEINEN Grund am Index rum zu Pfuschen..


                            z.B:

                            Heißen deine Dateien ja "news_035.html" usw.
                            Da wäre die 35 genau die Zahl , an der ich mich orientieren würde!
                            Und Was passiert, wenn einer dort aus der Mitte rausgelöscht werden MUSS, Dann hängste da wieder mit deinem Konzept
                            Oder nicht?
                            Wir werden alle sterben

                            Kommentar


                            • #15
                              hm der aufbau ist genau so:
                              2007_06_18_08-03_news_warmersommer.html
                              datum_uhr-zeit_rubrik_orientirungstagg

                              orientirungstagg dafuer damit nicht die datei immer erst gleich geoeffnet werden muss um nach dem haupttagg zu suchen
                              wer der stimmt dan datei explode und filtern siehe kurzen ausschnitt:
                              PHP-Code:
                              for ($i $from$i <= $to$i++)
                                          {
                                          if(
                              $datei[$i]!=NULL)
                                              {
                                                  { 
                              // title
                                                  
                              $fp=fopen($dir_raw."/".$datei[$i], "r");
                                                  
                              $titel_show explode("<!--title-->",fread($fp,filesize($dir_raw."/".$datei[$i])));
                                                  
                              fclose($fp);
                                                  }
                                                  { 
                              // author
                                                  
                              $fp=fopen($dir_raw."/".$datei[$i], "r");
                                                  
                              $author_show explode("<!--author-->",fread($fp,filesize($dir_raw."/".$datei[$i])));
                                                  
                              fclose($fp);
                                                  }
                                                  { 
                              // text
                                                  
                              $fp=fopen($dir_raw."/".$datei[$i], "r");
                                                  
                              $text_show explode("<!--text-->",fread($fp,filesize($dir_raw."/".$datei[$i])));
                                                  
                              fclose($fp);
                                                  }
                                              
                              // date, filename START
                                              
                              $file_date_split explode("_"$datei[$i]);
                                              
                              //$file_date_split { [0]="2007" [1]="06" [2]="18" [3]="12-00" [4]="news" [5]="titeltagg.html" }
                                              
                              $file_date =    ltrim($file_date_split[2],"0");  // tag
                                              
                              $file_date .=    ".";
                                              
                              $file_date .=    ltrim($file_date_split[1],"0");  // monat
                                              
                              $file_date .=    ".";
                                              
                              $file_date .=    $file_date_split[0];  // jahr
                                              
                              $file_date .=    " r.";
                                              
                              // date, filename END
                                              
                              echo '<div style="height:15px; margin: 0px 4px;"><div style="float:left;"><b>Nr.</b> '.sprintf("%03d",
                                              
                              $akeys[$i]).'</div><div class="news_date" style="float:right;">'.$file_date.'</div></div>';
                                              echo
                              '<fieldset>';
                                              if(
                              trim($titel_show[1])!="") { echo '<legend align="center"><b>'.trim($titel_show[1]).'</b></legend>';}
                                              if(
                              trim($text_show[1])!="") { echo '<div align="justify" style=" line-height:14px;" >'.trim($text_show[1]).'</div>';}
                                              if(
                              trim($author_show[1])!="") { echo '<br /><br />'author_link(trim($author_show[1])); }
                                              echo
                              '</fieldset><br />';
                                              } 
                              und die files:
                              PHP-Code:
                              <!--title-->news title<!--title-->
                              <!--
                              author-->phe<!--author-->
                              <!--
                              text-->
                              lorem ipsum...
                              lorem ipsum...
                              lorem ipsum...
                              <!--
                              text--> 
                              -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

                              Kommentar

                              Lädt...
                              X