2017-06-12 5 views
0

Ich habe eine php Sitzung Array wieWie entferne ich ein einzelnes Element aus einem PHP-Session-Array?

('10/01/2017, '13/02/2017', '21/21/2107') 

nun, wie man hinzufügen und Element oder entfernen Sie ein Element aus diesem Array in O (1)

+0

Welches Element tun Sie entfernen möchten, oder was wollen Sie hinzufügen? – Qirel

+0

Sie benötigen entweder 'unset()', 'array_shift()' oder 'array_pop()', je nachdem, was Sie tun möchten. –

Antwort

1

Der einfachste Weg, um den Wert zu erhalten, entfernen Sie die Element, und legen Sie die Sitzungsvariable erneut fest.

$data = $_SESSION['array']; // Get the value 
unset($data[1]);    // Remove an item (hardcoded the second here) 
$_SESSION['array'] = $data; // Set the session value with the new array 

Update:
Oder wie @Qirel sagte, können Sie den Artikel direkt unset wenn Sie die Nummer kennen.

unset($_SESSION['array'][1]); 

Update 2
Wenn Sie das Element durch seinen Wert entfernen möchten, können Sie array_search verwenden den Schlüssel dieses Elements zu finden. Beachten Sie, dass bei Elementen mit diesem Wert nur der erste entfernt wird.

$value_to_delete = '13/02/2017'; 
if (($key = array_search($value_to_delete, $_SESSION['array'])) !== false) 
    unset($_SESSION['array'][$key]); 
+0

Warum nicht einfach 'unset ($ _ SESSION ['array'] [1]);'? – Qirel

+0

Guter Punkt, hatte eigentlich nicht gedacht ... :) – Jerodev

+0

Ich meine, dein wird arbeiten und das gleiche Ergebnis erreichen - aber es ist ein extra zwei Zeilen ;-) – Qirel

0

löschen und Element aus einem Array verwenden unset() Funktion:

<?php 
    //session array O 
    unset(O["array"][1]); 
?> 
Verwandte Themen