2010-03-23 4 views
0

Я хотел бы создать многомерный массив с двумя переменными, но не знаю, как это сделать.Многомерный массив в php

Это то, что я до сих пор;

$_SESSION['name'][] = $row_subject['name']; 
$_SESSION['history'][]= $_SERVER['REQUEST_URI']; 

Я хотел знать, возможно ли это?

$_SESSION['name'][] = $row_subject['name'],$_SERVER['REQUEST_URI']; 

Я хочу получить имя программы, которая создается через базу данных, а также для извлечения URL-адреса. То, что я на самом деле делаю после того, как имя будет восстановлено, я хочу сделать ссылку, для которой необходим url.

любая помощь будет оценена.

Благодаря

ответ

3

Я не уверен, что вы хотите сделать, но правильное обозначение для второго примера может быть

$_SESSION['name'][] = array("name" => $row_subject['name'], 
          "history" => $_SERVER['REQUEST_URI']); 

Это толкает ассоциативный массив с «именем» ключи и "history" к массиву $ _SESSION ["name"].

Вы могли бы получить доступ к записи следующим образом:

echo $_SESSION["name"][0]["name"]; 
echo $_SESSION["name"][0]["history"]; 

если вы повторите команду с разными данными:

$_SESSION['name'][] = array("name" => $row_subject['name'], 
          "history" => $_SERVER['REQUEST_URI']); 

следующая запись будет адресовано как так:

You может затем получить доступ к таким записям:

echo $_SESSION["name"][1]["name"]; 
echo $_SESSION["name"][1]["history"]; 

и так далее.

+0

Могу ли я получить значения отдельно в foreach. Это то, что у меня было. Foreach ($ _ SESSION [ 'имя'] AS $ URL) { \t \t \t \t \t \t \t \t эхо "

  • $ URLs

  • "; \t \t \t \t будет ли это сделано? – pundit

    +0

    Если вы следуете приведенному выше примеру, это должно быть 'foreach ($ _ SESSION ['name'] AS $ urls) {echo"

  • ". $ Urls [" history "]."

  • "; } '. Является ли эта структура разумной, только вы можете решить. –

    +0

    ОК.Это то, что сделано: $ _SESSION ['name'] [] = array ("name" => $ row_subject ['name'], "history" => $ _SERVER ['REQUEST_URI']); если (пусто ($ _SESSION [ 'имя'])) { \t \t \t \t \t \t \t эхо ""; \t \t \t \t \t \t} \t \t \t \t \t \t еще { \t \t \t \t \t \t \t $ имя = $ _ SESSION [ 'имя']; \t \t \t \t \t \t \t krsort ($ name); \t \t \t \t \t \t \t \t \t \t \t \t \t Foreach (array_unique (array_slice ($ имя, 0, 5)) AS $ URLs) { \t \t \t \t \t \t \t \t эхо "

  • ". $ URL [ "name"]. "

  • "; \t \t \t \t \t \t \t \t \t \t \t \t \t \t} \t \t \t \t \t \t} это, однако, возвращает только один пункт за один раз. я хотел бы вернуться, как о 5 последних последних статьях. Как я могу это сделать? – pundit

    0
    $_SESSION['name'][] = array($row_subject['name'], $_SERVER['REQUEST_URI']); 
    
    Смежные вопросы