array

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • array

    guten morgen...

    ich hab eine datei mit dem inhalt:

    002;4/5/6/2
    003;9/53/56
    004;58/6/25/5
    003;7/53/95/5

    die zeilen sollen sortiert werden, aber nur nach den ersten 3 zeichen, dh wenn die ersten 3 zeichen gleich sind, soll die reihenfolge der gleichen zeilen beibehalten werden:

    002;4/5/6/2
    003;9/53/56
    003;7/53/95/5
    004;58/6/25/5

    -> wenn ich das in einen array einlese stellt er die "003;7/53/95/5" vor "003;9/53/56", da die 7 kleiner als die 9 ist.

    es wäre auch möglich die zeilen zu verknüpfen:
    003;9/53/56/7/53/95/5
    -> da kann man die ersten 3 zeichen als key und den rest als value von einem array einlesen.
    aber wie komme ich an den value ran? muss ich da erst in einer schleife nach dem key suchen, um dann den value zu bearbeiten?

    oder hat jemand eine bessere idee für die sortierung?
    liebe grüße,

    php: 4
    os: win2k
    ie: 6.0

  • #2
    PHP Code:
    // einlesen
    $input file('deineDatei');
    // verknüpfen
    $output=array();
    foreach(
    $input as $key => $value){
       
    $output[$key]=isset($output[$key])
          ?(
    $output[$key].'/'.$value)
          :
    $value;
    }
    // sortieren
    ksort($output);
    // ausgabe
    print_r($output); 
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Comment


    • #3
      wenn ich genau das mache, kommt folgende ausgabe:

      Array ( [0] => 002;4/5/6/2 [1] => 003;9/53/56 [2] => 004;58/6/25/5 [3] => 003;7/53/95/5 )

      -> leider nicht sortiert.
      liebe grüße,

      php: 4
      os: win2k
      ie: 6.0

      Comment


      • #4
        PHP Code:
        $input file('deineDatei');
        $sort=$output=array();
        foreach(
        $input as $eintrag)
        {
            
        $key=substr($value,0,3);
            
        $value=substr($value,4);
            if (isset(
        $sort[key]))
                
        $sort[$key].='|'.$value;
            else
                
        $sort[$key]=$value;    
        }
        ksort($sort);
        foreach(
        $sort as $key => $value)
        {
            
        $eintraege=explode('|'$value);
            foreach (
        $eintraege as $eintrag)
                
        $output[]=$key.';'.$eintrag;
        }
        print_r($output); 
        so?
        Last edited by mrhappiness; 24-10-2003, 09:24.
        Ich denke, also bin ich. - Einige sind trotzdem...

        Comment


        • #5
          Original geschrieben von mrhappiness
          murks
          tut mir leid, wenn ich mich blöd anstelle!
          Last edited by mrhappiness; 24-10-2003, 09:25.
          liebe grüße,

          php: 4
          os: win2k
          ie: 6.0

          Comment


          • #6
            ups, mein Fehler.
            Da war ja noch das ;

            PHP Code:
            // einlesen
            $input file('deineDatei');
            // verknüpfen
            $output=array();
            foreach(
            $input as $key => $value){
               
            $intern explode(';',$value);
               
            $output[$intern[0]]=isset($output[$intern[0]])
                  ?(
            $output[$intern[0]].'/'.$intern[1])
                  :
            $intern[1];
            }
            // sortieren
            ksort($output);
            // ausgabe
            print_r($output); 
            Last edited by TBT; 24-10-2003, 09:28.
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Comment


            • #7
              "murks" bezog sich nicht auf dich, sondern auf michund das was da stand

              OffTopic:
              scheiße, is halb zehn früh heut
              Ich denke, also bin ich. - Einige sind trotzdem...

              Comment


              • #8
                Original geschrieben von mrhappiness

                OffTopic:
                scheiße, is halb zehn früh heut
                du auch ?
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Comment


                • #9
                  si senor, sogar doppelt

                  1. dummfug gepostet
                  2. schau dir mal claudines letzten post an und wer da drin rumeditiert hat anstatt zu antworten (aber so schlau war, edit-tags zu verwenden)...

                  mrhappiness, sich überlegt, ob er sich in grund und boden schämen soll
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Comment


                  • #10
                    ich hab zwar keine ahnung, was so manches dort genau bedeutet, aber es funktioniert!!

                    ich dank dir!!!
                    liebe grüße,

                    php: 4
                    os: win2k
                    ie: 6.0

                    Comment


                    • #11
                      was denn?

                      vielleicht kann ich ja wenigstens da helfen, wo das manual versagt hat
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Comment


                      • #12
                        Original geschrieben von mrhappiness
                        was denn?

                        vielleicht kann ich ja wenigstens da helfen, wo das manual versagt hat
                        OffTopic:
                        ob das was wird ... bei deiner einstellung heute
                        ps guten morgen zusammen
                        h.a.n.d.
                        Schmalle

                        http://impressed.by
                        http://blog.schmalenberger.it



                        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                        ... nur ohne :-)

                        Comment


                        • #13
                          ... ich merk schon, ihr habt hier mächtig spaß


                          Original geschrieben von mrhappiness
                          was denn?

                          vielleicht kann ich ja wenigstens da helfen, wo das manual versagt hat
                          ... wenn du schon so nett fragst:
                          was besagen "?" und ":"
                          liebe grüße,

                          php: 4
                          os: win2k
                          ie: 6.0

                          Comment


                          • #14
                            ?: ist die Kurzschreibweise für "if"

                            (bedingung)?(true)false);

                            ist lang geschrieben ein

                            if(bedingung){
                            (true)
                            }else{
                            (false)
                            }


                            @happy: ich bin auch wieder so unterwegs.
                            solche schönen URL's und wunder mich, warums nicht geht:

                            ... ?go=search&&quick=answer&& ...
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Comment


                            • #15
                              *autsch* das hab ich schon ma gehört - is mir wohl entfallen.

                              dh "$output[$intern[0]]=isset($output[$intern[0]])" ist die bedingung. wie ich das verstanden habe, gibt in dem fall "isset()" true zurueck, wenn das vor dem ";" schonmal da ist. aber warum uebergeben wir das true an $output??
                              liebe grüße,

                              php: 4
                              os: win2k
                              ie: 6.0

                              Comment

                              Working...
                              X