Menyimpan Array dalam Session PHP
Mari kita lihat kode yang telah kita buat dalam pelajaran sebelumnya:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Sebenarnya kita bisa mengambil dan menyimpan
seluruh data formulir sekaligus ke dalam $_SESSION:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
Dan di file test2.php lakukan seperti ini:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Keuntungan dari pendekatan ini adalah kode kita akan bekerja terlepas dari jumlah input dalam formulir.
Namun, ada juga kerugiannya: dengan menimpa
$_SESSION kita menghapus semua data
yang sebelumnya ada di sana. Bagaimana jika
skrip lain kita telah menulis data di sana? Dan kita menghapusnya.
Mari lakukan dengan cara lain:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Seperti yang Anda lihat, ke dalam variabel session kita menyimpan
bukan hanya satu nilai tertentu, tetapi seluruh array.
Sekarang di file test2.php kita dapat mencari
jumlah elemen dari array ini:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Pada satu halaman, menggunakan formulir, tanyakan
kepada pengguna nama, usia, gaji, dan sesuatu
yang lain. Simpan data ini dalam satu variabel
session dalam bentuk array. Saat mengakses halaman lain,
ulangi data yang disimpan dengan perulangan
dan tampilkan setiap elemen array dalam tag
li miliknya sendiri di dalam tag ul.