Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/50: Рейтинг темы: голосов - 50, средняя оценка - 4.68
2 / 2 / 1
Регистрация: 21.02.2012
Сообщений: 108

Как записать в сессию массив с индексами?

31.03.2012, 18:29. Показов 9183. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть массив
PHP
1
2
 $a=array();
$a[$i]='1 3 4 8 2 5'; //где  1 3 4 8 2 5 значения массива.
Мне нужно в сессию записать массив
PHP
1
$a[$i]
, т.е.
PHP
1
 $_Session['$a[$i]'];
Если присвоить так
PHP
1
 $_Session['a']=$a[$i]
,то echo выведет слово array.
А мне нужно записать в сессию массив, чтобы потом можно было к нему обратиться по индексу и он выдал значение.
Мне нужно чтобы этот массив был доступен на другой станице.
Помогите пожалуйста правильно его написать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2012, 18:29
Ответы с готовыми решениями:

Как записать данные в сессию
Доброго времени суток Разрабатываю интернет-магазин, нужна функция сравнивания товаров по их характеристикам цене и тд Хочу нажимать на...

Как правильно записать значения в сессию?
Есть форма, в ней я собираю данные: имя и телефон <!doctype html> <html lang="en"> <head> <meta...

Записать элементы массива X с нечетными индексами подряд в массив Y Excel basic
Записать элементы массива X с нечетными индексами подряд в массив Y 1) Записать элементы массива X=(x1,x2,…, xn) с нечетными индексами...

8
74 / 63 / 0
Регистрация: 24.03.2012
Сообщений: 333
31.03.2012, 18:47
echo выведет слово array.
echo не выводит значения массива. Если надо вывести содержимое сложной переменной - используй print_r. Ну и справку по PHP неплохо бы почитать

Добавлено через 2 минуты
Цитата Сообщение от delphihelp Посмотреть сообщение
Если присвоить так
$_Session['a']=$a[$i]
Так ты присвоишь сессиии значение элемента массива с индексом $i
1
2 / 2 / 1
Регистрация: 21.02.2012
Сообщений: 108
31.03.2012, 19:17  [ТС]
Да, просто если написать echo "$a[$i]"; то значения выведутся.
Т.е. если присвоить так $_Session['a']=$a[$i] то значения запишутся в сессию и на другой страничке я просто смогу написать
PHP
1
$переменная=$_Session['a']
и значения присвоятся.

Просто я как то побаиваюсь print_r, т.к. она выводит значения таким образом
PHP
1
array(5) { [0]=> int(5) [1]=> int(1) [2]=> int(3) [3]=> int(4) [4]=> int(2) }
а мне бы просто вывести так: 5 1 3 4

и еще тогда вопрос, как тогда обратиться например ко второму элементу массива в сесии?
0
74 / 63 / 0
Регистрация: 24.03.2012
Сообщений: 333
31.03.2012, 19:21
Цитата Сообщение от delphihelp Посмотреть сообщение
мне бы просто вывести так: 5134
Выводи значения отдельных элементов массива в цикле, иначе никак
0
2 / 2 / 1
Регистрация: 21.02.2012
Сообщений: 108
31.03.2012, 19:28  [ТС]
PHP
1
print_r $_Session['a']=2;
//обращение ко второму элементу массива в сессии
0
74 / 63 / 0
Регистрация: 24.03.2012
Сообщений: 333
31.03.2012, 19:33
Цитата Сообщение от delphihelp Посмотреть сообщение
PHP
1
print_r $_Session['a']=2;
//обращение ко второму элементу массива в сессии
Можно и с помощью echo
0
2 / 2 / 1
Регистрация: 21.02.2012
Сообщений: 108
31.03.2012, 19:58  [ТС]
Большое спасибо за помощь.
Добавлено через 14 минут
И все таки вывод 2- го элемента правильно написать так
echo "масссив=".$_Session['v'][2];

а присваивать правильно так
PHP
1
$_Session['v'][$i]=$v[$i];
Добавлено через 3 минуты
а на другой странице переменная записанная в сессию потерялась
Undefined index: а in
echo "масссив=".$_Session['а'][0];
1
74 / 63 / 0
Регистрация: 24.03.2012
Сообщений: 333
31.03.2012, 20:03
Не так.
PHP
1
2
3
4
foreach ($_Session['a'] as $value)
{
  echo $value;
}
Добавлено через 2 минуты
Если бы ты вопросы не правил все время, мои ответы были бы более эффективны
1
2 / 2 / 1
Регистрация: 21.02.2012
Сообщений: 108
31.03.2012, 20:36  [ТС]
Добавлено через 13 минут
Немогу понять, что я такого сделал, но поле того как написал цикл
PHP
1
foreach
, а потом его удалил, то значения сессии стали отображаться на других страницах при написании такого кода:
PHP
1
2
print_r($_SESSION['v']);
echo "Индекс 2=".$_SESSION['v'][2];
а цикл foreach выводит массив как я и хотел (списком цифр) вместо
PHP
1
 print_r($_SESSION['v']);
которая мне не нужна.
Спасибо большое.

А вопросы я правил, потому что кое что получилось, вот за ненадобностью удалял.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2012, 20:36
Помогаю со студенческими работами здесь

Записать в массив У сначала все элементы с чётными, а затем с нечётными индексами
Исходный массив вещественого типа ,Записать в массив У сначала все элементы с чётными, а затем с нечётными индексами.Спасибо заранее

Как можно записать данные в сессию не перезагружая страницу?
есть форма и кнопка к этой форме. нужно все данные из формы при клике на кнопку записать в сессию, но при этом при клике на кнопку никакого...

Записать в новый массив сначала элементы исходного массива с четными, затем с нечетными индексами
Из одномерного массива А сформировать одномерный массив В, записав в него сначала элементы массива А, иемющие четные индексы, потом-...

Как записать в сессию все данные из БД, а не только логин и пароль
Ребят есть быза в ней храню всех пользователей, через php происходит авторизация пользователей через сессию, в сессию записываются только...

Задан массив А(9).найти произведение чисел с четными индексами и сумму с нечетными индексами.
Задан массив А(9).найти произведение чисел с четными индексами и сумму с нечетными индексами.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru