lulu: mit unset() Array Element löschen

Beitrag lesen

Huhu Heiko

Wo ist mein Rest?

Tja, den habe ich mal ein wenig umgebaut, ich weiss nicht ob ich
begriffen habe was Du eigentlich umsetzen möchtest, aber naja.

Ist wirklich schon ein bischen spät.
Also eigentlich wollte ich Dir empfehlen Dich mit Arrays im allgemeinen um mit den super global Arrays im besonderen zu beschäftigen.

Hier mal eine Version mit super global Arrays etc.

So ungefähr würde ich es jedenfalls machen, nur als Vorschlag ...

<?php

session_start();

// ggf. Session- Variable initialisieren
if (!isset($_SESSION['vergleichprodukt'])) {
 $_SESSION['vergleichprodukt'] = array();
}

// ggf. Produkt hinzufuegen
if (isset($_GET['add'])) {
 array_push($_SESSION['vergleichprodukt'], $_GET['add']);
}

// ggf. Produkt entfernen
if (isset($_GET['remove'])) {
 $k = array_search($_GET['remove'], $_SESSION['vergleichprodukt']);
 unset($_SESSION['vergleichprodukt'][$k]);
}

$produkte = array(
 1 => 'Taschenlampe',
 2 => 'Taschenmesser',
 3 => 'Taschenflasche',
 4 => 'Taschenbär',
);

$navigation = '';

foreach ($produkte as $k => $v){

if (in_array($k, $_SESSION['vergleichprodukt'])){
  $navigation .= <<< EOT
<a href="{$_SERVER['PHP_SELF']}?remove=$k">$v aus Liste l&ouml;schen</a><br>
EOT;
 }else{
  $navigation .= <<< EOT
<a href="{$_SERVER['PHP_SELF']}?add=$k">$v zur Liste hinzufügen</a><br>
EOT;

}
}
$listofproducts = '';

if (count($_SESSION['vergleichprodukt']) > 0){
 foreach($_SESSION['vergleichprodukt'] as $k) {
  $v = $produkte[$k];
  $listofproducts .= sprintf('<tr><td>%s</td><td>%s</td></tr>', $k, $v);
 }
}else{
 $listofproducts = '<tr><td>Leer</td></tr>';
}

echo <<< EOT
<html>
<head>
</head>

<body>

$navigation

<table width="50" border="1">

$listofproducts

</table>
</body>
</html>
EOT;
?>

Was ist EOT?

EOT steht für "end of text".

Gute Nacht und viele Grüße

lulu

--
bythewaythewebsuxgoofflineandenjoytheday