Массивҳоро дар сессияҳои PHP сабт кардан

Ба коде, ки мо дар дарси қаблӣ сохта будем, нигаред:

html<?php
  if (!empty($_GET)) {
    $_SESSION['num1'] = $_GET['num1'];
    $_SESSION['num2'] = $_GET['num2'];
  }
?>

Дар аслӣ, шумо метавонистед ҳамаи маълумоти формро дар як ҳол ба $_SESSION сабт кунед:

test1.php<?php
  if (!empty($_GET)) {
    $_SESSION = $_GET;
  }
?>

Ва дар файли test2.php ин тавр кунед:

test2.php<?php
  if (!empty($_SESSION)) {
    echo array_sum($_SESSION);
  }
?>

Имтиёзи ин равиш он аст, ки коди мо аз шумораи вуруди дар форм вобаста нест.

Аммо, нуқс низ вуҷуд дорад: бо аз нав сабт кардани $_SESSION мо ҳамаи маълумотеро, ки пештар дар он ҷо буданд, нест мекунем. Маълум нест, ки дигар скрипти мо чӣ чизе ба он навиштааст? Ва мо онро нест мекунем.

Биёед бо роҳи дигар рафтор кунем:

test2.php<?php
  if (!empty($_GET)) {
    $_SESSION['nums'] = $_GET;
  }
?>

Чунон ки мебинед, мо ба тағйирёбандаи сессия як арзиши муайянро на, балки як массиви комилро сабт кардем. Акнун дар файли test2.php метавонем ҷамъи унсурҳои ин массивро пайдо кунем:

test2.php<?php
  if (!empty($_SESSION)) {
    echo array_sum($_SESSION['nums']);
  }
?>
Задание 1

Дар як саҳифа бо ёрии форм аз корбар ном, синну сол, маош ва чизҳои дигар бипурсед. Ин маълумотҳоро дар як тағйирёбандаи сессия ба шакли массив сабт кунед. Дар вақти ворид шудан ба саҳифаи дигар, маълумотҳои нигоҳдошташударо бо истифода аз давр такрор кунед ва ҳар як унсури массивро дар теги худ li аз теги ul чоп кунед.