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

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

  • 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!

    Comment


    • #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]

      Comment


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

        Schöne Grüße
        Michael

        Comment


        • #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]

          Comment


          • #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)

            Comment


            • #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!
              Last edited by Morpheus2100; 18-01-2008, 11:31.

              Comment


              • #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!

                Comment


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

                  Comment

                  Working...
                  X