array-key auslesen

D

di-five

Hi Leute,

ich fange langsam an zu verzweifeln. Ich kriege den Key eines Arrays nicht ausgelesen.

Hier mal der Code:

PHP:
    if(isset($_SESSION['cart']))
    {        
        foreach($_SESSION['cart'] -> ITEMS as $_SESSION['currentItem'])
        {
            echo '  <tr>' . "\n";
            echo '    <td> ' . "\n";
            echo '      <input type="text" name="anz" value="' . $_SESSION['currentItem'] -> ANZ . '" size="2" maxlength="2"> ' . "\n";
            echo '      <a href="index.php?page=warenkorb&action=remove&id=0001">' . "\n";
            echo '        <img src="images/delete.png" width="16" height="16" border="0" alt="" align="middle" title="Entfernen">' . "\n";
            echo '      </a>' . "\n";
            echo '    </td>' . "\n";
            echo '    <td>' . $_SESSION['currentItem'] -> ART . '</td>' . "\n";
            echo '    <td>' . $_SESSION['currentItem'] -> PRE . '</td>' . "\n";
            echo '    <td>' . $_SESSION['currentItem'] -> ANZ * $_SESSION['currentItem'] -> PRE . '</td>' . "\n";
            echo '  </tr>' . "\n";
        }
    }

In dem Link mit dem Images soll nun der key von $_SESSION['cart'] -> ITEMS stehen.

Ich kriege das einfach nicht hin!

Mit key($_SESSION['cart'] -> ITEMS) zeigt der mir bei jedem foreach den selben key an. Der Key änderst sich auf den nächsten eingetragenen Artikel, wenn ein Artikel gelöscht wurde. Dann stehen aber immer noch in allen Links die selben keys.

Ich würde mich freuen, wenn mir jemand helfen kann.

Gruß di-five
 
Schlüssel und Wert sind bei foreach() keine Werte, die man selbst belegen kann. Darum kannst du auch keine Session Variable dafür bestimmst, da $wert nur in dem aktuellen Schleifendurchlauf aktuell ist und dann wieder überschrieben wird.
PHP:
foreach($array as $key => $wert)
Jeder Array Eintrag wird durchlaufen und Schlüssel und Wert können $key bzw. $wert entnommen werden. Ist es mehrdimensionales Array, ist der Schlüssel die erste Dimension und der Wert die restlichen Dimensionen als weiteres Array.

Das $currentItem wird also zu $wert[...]

Wenn du die einzelnen Einträge später als einzelne Variable weiterführen willst, mußt du die also innerhalb der Schleife erzeugen.
 
Hi Sprint,

mit

PHP:
foreach($array as $key => $wert)

kann ich tatsächlich problemlos auf die Keys und Werte zugreifen.

Gruß di-five
 
Zurück