PHP Sessionida Massivlarni Yozish

Oldingi darsda biz yaratgan kodni ko'rib chiqamiz:

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

Aslida, formaning barcha ma'lumotlarini darhol $_SESSION ga yozish mumkin edi:

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

Va test2.php faylida shunday qiling:

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

Bunday yondashuvning afzalligi shundaki, bizning kod formadagi maydonlar sonidan qat'iy nazar ishlaydi.

Biroq, kamchiligi ham bor: $_SESSION ni qayta yozish orqali biz oldin u yerda bo'lgan barcha ma'lumotlarni o'chiramiz. Boshqa skriptimiz u erga nima yozganligini bilmaymiz? Va biz uni o'chiramiz.

Keling, boshqacha qilaylik:

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

Ko'rib turganingizdek, session o'zgaruvchisiga biz bitta qiymat emas, balki butun massivni yozdik. Endi test2.php faylida ushbu massiv elementlari yig'indisini topishimiz mumkin:

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

Bitta sahifada foydalanuvchidan form orqali ism, yosh, maosh va yana biron bir narsani so'rang. Ushbu ma'lumotlarni sessionning bitta o'zgaruvchisiga massiv shaklida yozing. Boshqa sahifaga o'tganda, saqlangan ma'lumotlarni tsikl bilan aylantiring va har bir massiv elementini ul tegi ichidagi li tegida chiqaring.