Menyimpan Array dalam Sesi PHP
Pertimbangkan kod yang kami buat dalam pelajaran sebelumnya:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Sebenarnya, kita boleh mengambil dan menyimpan
semua data borang sekaligus ke dalam $_SESSION:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
Dan dalam fail test2.php, buat seperti ini:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Kelebihan pendekatan ini ialah kod kami akan berfungsi tanpa mengira bilangan input dalam borang.
Walau bagaimanapun, terdapat juga kelemahan: dengan menulis semula
$_SESSION, kami memadamkan semua data
yang sebelumnya ada di sana. Bagaimana jika skrip lain kami
telah menulis sesuatu di sana? Dan kami memadamnya.
Mari lakukan dengan cara lain:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Seperti yang anda lihat, ke dalam pembolehubah sesi kami menyimpan
bukan satu nilai, tetapi keseluruhan array.
Sekarang dalam fail test2.php, kita boleh mencari
hasil tambah elemen array ini:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Pada satu halaman, menggunakan borang, tanya
pengguna tentang nama, umur, gaji dan sesuatu yang lain.
Simpan data ini dalam satu pembolehubah
sesi dalam bentuk array. Apabila memasuki halaman lain,
ulangi data yang disimpan menggunakan gelung
dan paparkan setiap elemen array dalam tag
li sendiri dalam tag ul.