Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как получить доступ к массиву в сессии?
Форумы портала PHP.SU » PHP » Программирование на PHP » Как получить доступ к массиву в сессии?

Страниц (1): [1]
 

1. ХОТТАБЫЧ - 09 Марта, 2008 - 17:15:35 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. session_start();
  2.  
  3. $a = Array();
  4. $b = 1;
  5.  
  6. session_register('a', 'b');
  7.  
  8. $_SESSION['b'] = 2;


А как получить доступ к массиву $a, если register globals выключено?
2. valenok - 09 Марта, 2008 - 17:19:31 - перейти к сообщению
php.net/session_register
// Use of $_SESSION is preferred, as of PHP 4.1.0

а значит $_SESSION['index'] = 'val';
(Добавление)
короче, по русски -
выкиньте свой учебник
устарел немного
3. ХОТТАБЫЧ - 09 Марта, 2008 - 21:45:29 - перейти к сообщению
Ок! Спрошу по другому:

У мну есть массив, который я хочу запомнить в сессию, а потом работать с этим массивом в сессии, КАК работать с массивом, который поместили в сессию?

Может я чевой-то непонимаю и есть альтернативные пути для хранения массивов в сессии?
(Добавление)
То есть, исходя из Вашего примера, обратиться к массиву в сессии можно, как:

CODE (text):
скопировать код в буфер обмена
  1. $_SESSION['myarr'][$index] = 'bla bla bla';


или

CODE (text):
скопировать код в буфер обмена
  1. $_SESSION['myarr[$index]'] = 'bla bla bla';


или

CODE (text):
скопировать код в буфер обмена
  1. $_SESSION['{myarr[$index]}'] = 'bla bla bla';


КАК?
(Добавление)
Всем спасибо, вопрос снимается! Кому интересно решается это, в кратце, так:

CODE (text):
скопировать код в буфер обмена
  1. class Arr {
  2.   private $a;
  3.  
  4.   function __construct() {
  5.     $this->a = array();
  6.   }
  7.  
  8.   public function addItem(...);
  9. }
  10.  
  11. //--------------------------------------
  12.  
  13. session_start();
  14. $_SESSION['a'] = new Arr();
  15. $_SESSION['a']->addItem(...);
  16.  
4. valenok - 10 Марта, 2008 - 06:11:20 - перейти к сообщению
Это называется "чесать ухо через ...." .
А вы попробуйте каждый их тех кодов которые вы привели..
5. ХОТТАБЫЧ - 10 Марта, 2008 - 13:21:13 - перейти к сообщению
valenok, я знаю что они не рабочие Улыбка я их привел, чтобы Вы поняли, чего я хочу добиться! А цель у меня была поместить в сессию массив. А Вы на мой первый вопрос начали меня учить выбрасывать учебники...
6. valenok - 13 Марта, 2008 - 21:36:30 - перейти к сообщению
В каком смысле нерабочие?
Вы их пробовали?

 

Powered by ExBB FM 1.0 RC1