Array nach individueller String-Position sortieren

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

  • #31
    SUPER! VIELEN DANK!

    Dumme Frage:
    Was bewirkt das "&"?

    Kommentar


    • #32
      gewöhne dir das manual lesen an - es beantwortet die meisten fragen am ausführlichsten:

      http://de2.php.net/manual/de/functio...s.by-reference

      Kommentar


      • #33
        Danke für den Hinweis , jetzt wird's verständlich

        Kommentar


        • #34
          Hab mich leider zu früh gefreut:

          Einige Nummern haben keine 10 Stellen. Wenn die Nummern wie folgt aussehen:
          01-AS-C3
          01-BS-A34
          schneidet mir die Funktion beim Sortieren 1 bis 2 Stellen ab, so daß das Ergebnis dann folgendermaßen aussieht:
          -AS-C3
          1-BS-A34
          Ist demnach usort() die bessere Wahl?

          Kommentar


          • #35
            Du willst doch nach insgesamt vier Positionen sortieren lassen, oder?

            Dann nimm ${8} raus und schneide beim substr 1 Zeichen weniger ab
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #36
              Dann erhalte ich dieses Ergebnis:
              1-AS-C3
              01-BS-A34
              Zudem werden die Zahlen im 3 Block nicht mehr sauber durchsortiert bspw. kommt ....AB-A345 vor ....AB-A324.

              Kommentar


              • #37
                elton, bei aller hilfsbereitschaft - ab jetzt sind doch wirklich nur noch kleinigkeiten übrig. da musst du dich schon selbst durchbeißen - bei jedem schritt (sobald du ihn verstehst) kannst du unterscheidung einbauen, die nach zeilenlänge bzw. der länge einzelner blöcke unterschiedliche bedingungsblöcke einleitet (und z.b. die positionen für das präfix bestimmt). wenn man auch das jetzt noch hier im thread behandelt, hätten die anderen deine arbeit von anfang an komplett für dich machen können und es wäre "projekthilfe".

                Kommentar


                • #38
                  Ich habe eine funktionierende Lösung gefunden. Die Funktion
                  PHP-Code:
                  // 1. Sortiererei als Präfix
                  function myprefix($s)
                  {
                    return 
                  $s{3}. $s{6}. $s{4}. $s{7}. $s{8};

                  habe ich mit Abfragen erweitert, um Leerstellen auszufüllen
                  PHP-Code:
                  // 1. Sortiererei als Präfix
                  function myprefix($s)
                  {
                  if (
                  $s{3} == '') {
                  $s{3} = '0';
                  }
                  if (
                  $s{6} == '') {
                  $s{6} = '0';
                  }
                  if (
                  $s{4} == '') {
                  $s{4} = '0';
                  }
                  if (
                  $s{7} == '') {
                  $s{7} = '0';
                  }
                  if (
                  $s{8} == '') {
                  $s{8} = '0';
                  }
                    return 
                  $s{3}. $s{6}. $s{4}. $s{7}. $s{8};

                  und es funktioniert.

                  Zwar sicher nicht elegant, aber dafür funktional. Gäbe es noch was "professionelleres" (für die Zukunft) ?

                  Kommentar


                  • #39
                    $s = str_pad($s, 9, '0', STR_PAD_RIGHT);
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar

                    Lädt...
                    X