Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Referenzen auf Arrays

Einklappen

Neue Werbung 2019

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

  • Problem mit Referenzen auf Arrays

    Ich habe folgende Funktion geschrieben, welche übergebene Arrays
    sortieren soll. Es würde zwar mit einem return gehen aber dann muss ich erst wieder den Array unsetten.

    Meine Frage:

    Wie kann ich in der Funktion auf den übergebenen Array zugreifen und den sorten?


    Meine Funktion:
    PHP-Code:
    function &sort_arrays($array_werte){
    reset($array_werte);
    $i=1;while(list($key,$val) = each($array_werte)){ // ## Beginn WHILE
    if($val[1]!="alle"&&$val[2]>0){
            
    $array_werte[$key][3]=$i;
            
    $i++;
            }elseif(
    $val[1]!="alle"){$array_werte[$key][3]=99;}
    // ## Ende WHILE
    $array_werte[]=array("","-------------------------------------------","",$i);
    foreach(
    $array_werte as $res)
         
    $sorter[]  = $res[3];
    array_multisort($sorterSORT_ASC$array_werte);
    reset($array_werte);
    unset(
    $array_werte);
    return;
    // ## Ende Funktion 

    Also mein Problem ist das die Funktion den Array $array_werte auch ändert, aber folgendes nicht ausführt:

    PHP-Code:
    foreach($array_werte as $res)
         
    $sorter[]  = $res[3];
    array_multisort($sorterSORT_ASC$array_werte); 

    Ich hoffe ich habe es jetzt verständlich rübergebracht.

    Danke für eure Hilfe.

  • #2
    Es wäre ganz nett wenn du PHP-Code auch in den PHP-Tags schreibst.

    Code:
        
        
        
    
    
    PHP-Code:
    php code 

    Kommentar


    • #3
      wenn ich dich richtig verstehe ...

      PHP-Code:
      function tuWas(&$arr$var, ...) {
        [...]

      Kommentar


      • #4
        .

        Habe jetzt den Fehler gefunden. also hier noch mal die fehlerfreie
        Funktion:

        PHP-Code:
        function sort_arrays(&$array_werte){
        reset($array_werte);
        $i=1;while(list($key,$val) = each($array_werte)){ // ## Beginn WHILE 2
        if($val[1]!="alle"&&$val[2]>0){
                
        $array_werte[$key][3]=$i;
                
        $i++;
                }elseif(
        $val[1]!="alle"){$array_werte[$key][3]=99;}
        // ## Ende WHILE 2
        $array_werte[]=array("","-------------------------------------------","",$i);
        foreach(
        $array_werte as $res)
             
        $sorter[]  = $res[3];
        array_multisort($sorterSORT_ASC, &$array_werte);
        reset($array_werte);
        return;

        Was ein &-Zeichen einem Zeit rauben kann.


        Also dann allen noch ein schönes WE.


        Viele Grüsse

        Banzak

        Kommentar


        • #5
          Wenn du was sortiern willst, kannste das auch einfacher haben:
          http://de3.php.net/manual/de/function.sort.php

          Zitat von php.net
          Siehe auch arsort(), asort(), ksort(), natsort(), natcasesort(), rsort(), usort(), array_multisort() und uksort().
          Da wird schon was passendes dabei sein.

          Kommentar

          Lädt...
          X