Löschen von Array Element, jedoch in Ausgabe wieder da???

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

  • Löschen von Array Element, jedoch in Ausgabe wieder da???

    Hi Leute,

    ich mach jetzt grad seit knapp 1 1/2 Stunden an so einem FuC.... Problem rum und ich komm auf keinen grünen Zweig.

    Beschreibung:
    Das ist der Code um den es sich handelt.
    PHP-Code:
          $policy_data_ar return_policy_ar($_GET["p_id"]);

          foreach (
    $policy_data_ar as $key => $value)
          {      
              
    $to_unset_temp explode("_"$key);
              if(
    $to_unset_temp[1] == 0) {
                    unset(
    $policy_data_ar[$key]);
              }

              
    $p_id $value["p_id"];
              
    $p_name $value["p_name"];
              
    $p_text1 $value["p_text"];
          }
            echo 
    "<pre>";
            
    print_r($policy_data_ar);
            echo 
    "</pre>";

            echo 
    $policy_data_ar["202_1"]["p_text"];

            echo 
    $p_text
    in dem Array "$policy_data_ar " steht folgendes:
    PHP-Code:
    Array
    (
        [
    202_1] => Array
            (
                [
    p_id] => 202
                
    [p_text] => HIER IST EIN TEST F&Uuml;R IGOR UND MICHAEL!
                [
    p_create_date] => 18.01.08
                
    [p_name] => Policy 6
                
    [p_version] => 1
            
    )

        [
    202_0] => Array
            (
                [
    p_id] => 202
                
    [p_text] => HIER IST EIN TEST F&Uuml;R IGOR!
                [
    p_create_date] => 18.01.08
                
    [p_name] => Policy 6
                
    [p_version] => 0
            
    )


    Jetzt entferne ich ein Element aus dem Array, immer das was mit "*_0" heißt:
    PHP-Code:
    if($to_unset_temp[1] == 0) {
                    unset(
    $policy_data_ar[$key]);
              } 
    macht er auch wunderbar siehe ausgabe mit print_r:
    PHP-Code:
    Array
    (
        [
    202_1] => Array
            (
                [
    p_id] => 202
                
    [p_text] => HIER IST EIN TEST F&Uuml;R IGOR UND MICHAEL!
                [
    p_create_date] => 18.01.08
                
    [p_name] => Policy 6
                
    [p_version] => 1
            
    )


    In [p_text] steht jetzt: "HIER IST EIN TEST F&Uuml;R IGOR UND MICHAEL!"

    Toll! wenn ich ein echo wie folgt ausgebe, steht auch das richtige drinnen:
    PHP-Code:
    echo $policy_data_ar["202_1"]["p_text"]; 
    :
    "HIER IST EIN TEST F&Uuml;R IGOR UND MICHAEL!"

    Gebe ich jetzt jedoch
    PHP-Code:
    $p_text $value["p_text"]; 
    aus steht der Text von dem gelöschen Array Element

    siehe Array Element oben:
    "HIER IST EIN TEST F&Uuml;R IGOR!"

    drinnen????? WIESO???? Ich versteh nicht wie da der Text von dem gelöschen Element drinnen stehen kann!

    Bitte um HILFE!

    Danke
    Schöne Grüße
    Michael

  • #2
    weil dus net aus der variable $value löschst?
    Die Milch bleibt ranzig!

    Kommentar


    • #3
      Oder weil etwas fehlt :P

      PHP-Code:
      if($to_unset_temp[1] == 0) {
                      unset(
      $policy_data_ar[$key]);
      } else {
         
      $p_id $value["p_id"];
         
      $p_name $value["p_name"];
         
      $p_text1 $value["p_text"];

      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #4
        Original geschrieben von RanzigeMilch
        weil dus net aus der variable $value löschst?
        Wie mach das?

        Schöne Grüße
        Michael

        Kommentar


        • #5
          PHP-Code:
          if($to_unset_temp[1] == 0) {
                          unset(
          $policy_data_ar[$key]);
                    }

                    
          $p_id $value["p_id"];
                    
          $p_name $value["p_name"];
                    
          $p_text1 $value["p_text"]; 
          Ja was steht denn da?

          Wenn 0 dann unset ... Aber auf jeden fall die $p_id, $p_name, $p_text1 mit den aktuellen werten füllen..

          } else {

          Immer noch


          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            Gebe ich jetzt jedoch
            PHP-Code:
            $p_text $value["p_text"]; 
            aus steht der Text von dem gelöschen Array Element
            Und was hättest du denn erwartet was drin stehen soll? Etwa nichts? Du löscht ein Element aus dem Array nachdem dessen Wert an $value zugewiesen wurde. Wieso sollte also $value gelöscht sein, wenn du das Element entfernst
            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


            • #7
              Original geschrieben von hhcm
              PHP-Code:
              if($to_unset_temp[1] == 0) {
                              unset(
              $policy_data_ar[$key]);
                        }

                        
              $p_id $value["p_id"];
                        
              $p_name $value["p_name"];
                        
              $p_text1 $value["p_text"]; 
              Ja was steht denn da?

              Wenn 0 dann unset ... Aber auf jeden fall die $p_id, $p_name, $p_text1 mit den aktuellen werten füllen..

              } else {

              Immer noch


              Boa ne ich hatte da jetzt so einen dicken Denkfehler drinne des gibts echt nicht!

              Danke für eure Hilfe!
              Zuletzt geändert von Morpheus2100; 18.01.2008, 12:31.

              Kommentar


              • #8
                Original geschrieben von jahlives
                Und was hättest du denn erwartet was drin stehen soll? Etwa nichts? Du löscht ein Element aus dem Array nachdem dessen Wert an $value zugewiesen wurde. Wieso sollte also $value gelöscht sein, wenn du das Element entfernst
                Jo danke für die Erleuterung! Jetzt gehts!

                Kommentar


                • #9
                  das hatte ich dir auch schon vor 2 stunden gesagt (also 4)
                  Die Milch bleibt ranzig!

                  Kommentar

                  Lädt...
                  X