Запись массивов в сессии 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.