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

←→
↑