Массивҳоро дар сессияҳои PHP сабт кардан
Ба коде, ки мо дар дарси қаблӣ сохта будем, нигаред:
<?php
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
Дар аслӣ, шумо метавонистед ҳамаи маълумоти формро
дар як ҳол ба $_SESSION сабт кунед:
<?php
if (!empty($_GET)) {
$_SESSION = $_GET;
}
?>
Ва дар файли test2.php ин тавр кунед:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION);
}
?>
Имтиёзи ин равиш он аст, ки коди мо аз шумораи вуруди дар форм вобаста нест.
Аммо, нуқс низ вуҷуд дорад: бо аз нав сабт кардани
$_SESSION мо ҳамаи маълумотеро, ки пештар
дар он ҷо буданд, нест мекунем. Маълум нест, ки дигар
скрипти мо чӣ чизе ба он навиштааст? Ва мо онро нест мекунем.
Биёед бо роҳи дигар рафтор кунем:
<?php
if (!empty($_GET)) {
$_SESSION['nums'] = $_GET;
}
?>
Чунон ки мебинед, мо ба тағйирёбандаи сессия як арзиши
муайянро на, балки як массиви комилро сабт кардем.
Акнун дар файли test2.php метавонем ҷамъи
унсурҳои ин массивро пайдо кунем:
<?php
if (!empty($_SESSION)) {
echo array_sum($_SESSION['nums']);
}
?>
Дар як саҳифа бо ёрии форм аз корбар ном,
синну сол, маош ва чизҳои дигар бипурсед.
Ин маълумотҳоро дар як тағйирёбандаи сессия
ба шакли массив сабт кунед. Дар вақти ворид
шудан ба саҳифаи дигар, маълумотҳои нигоҳдошташударо
бо истифода аз давр такрор кунед ва ҳар як унсури
массивро дар теги худ li аз теги ul
чоп кунед.