За последние 24 часа нас посетили 20818 программистов и 1131 робот. Сейчас ищут 422 программиста ...

Как добавлять новые ключ=>значение в массив программно?

Тема в разделе "PHP для новичков", создана пользователем Andriy, 30 апр 2011.

  1. runner

    runner Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    Andriy
    1)Твой скрипт генерит при вызове один элемент массива. Ты добавляешь его в массив:
    $array[$key]=$value;
    2) Ты хочешь, чтобы значение, которое сгенерится при следующем вызове скрипта, добавилось к этому массиву $array. Однако проблема в том, что при массив $array до следующего вызова не сохраняется и будет пустым в следующем вызове. Для того чтобы сохранить значение массива $array до следующего вызова нужно сохранить массив $array в сессионной переменной, а при следующем вызове восстановить его из сессионной переменой:
    PHP:
    1.  
    2. <?php
    3. //стартуем сессию
    4. // если была установлена сессионная переменная, то восстанавливаем ее
    5. if(isset($_SESSION['array']))
    6. {
    7.     $array=$_SESSION['array'];
    8. }
    9. else
    10. {
    11.     $array=array();
    12. }
    13. // просто пример
    14.  
    15. $ar_1 = array('a',' b','c');
    16. $ar_2 = array('d',' e','i');
    17. $ar_3 = array('w',' m','n');
    18.  
    19. $num = rand(0,2);
    20.  
    21. switch ($num) :
    22. case 0 : { $key = 'пример №1'; $value = $ar_1; }
    23. break;
    24. case 1 : { $key = 'пример №2'; $value = $ar_2; }
    25. break;
    26. case 2 : { $key = 'пример №3'; $value = $ar_3; }
    27. break;
    28. endswitch;
    29. //добавляем в массив
    30. $array[$key]=$value;
    31. print_r($array);
    32. //сохраняем сессионную переменную
    33. $_SESSION['array'] = $array;
    34.  
    35. ?>
    36.  
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    эм
    как добавить новое значение в массив
    $array[]=$value;

    а как сохранять - думайте сами. для этого какбэ есть бд
     
  3. Fusix

    Fusix Активный пользователь

    С нами с:
    22 фев 2010
    Сообщения:
    67
    Симпатии:
    0
    Попробуйте в $array[$key]=$value поменять местами т.е. $array[$value]=$key
    Возможно индекс не может быть строкой с пробелом (Пример № 1)
     
  4. Satisfaction

    Satisfaction Активный пользователь

    С нами с:
    20 май 2011
    Сообщения:
    1
    Симпатии:
    0
    Может это пригодится

    Код (Text):
    1. $array[(string) $key] = $value;
    или так:
    Код (Text):
    1. $array[''.$key] = $value;
    т.е. преобразуем ключ в строку.
     
  5. cminvest

    cminvest Новичок

    С нами с:
    29 дек 2013
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Пермь
    $array[] = array($key => $value); - создаешь заново массив