Как сопоставить значение ключа для другого значения ключа в том же массиве? - PullRequest
0 голосов
/ 04 февраля 2012

Извините, потому что я знаю, что это, вероятно, вопрос noob, но у меня так много работы, что я не могу закончить процесс изучения PHP.

Допустим, у меня есть переменная для расширения файла и массив в PHP, подобный этому:

$fileExt = ".php";

$mainNav = array(

    "page01" => array (

        "id"    =>  "value",
        "name"  =>  "value",
        "title" =>  "value",
        "url"   =>  need same "id" value + $fileExt

    ),

    "page02" => array (

        "id"    =>  "value",
        "name"  =>  "value",
        "title" =>  "value",
        "url"   =>  need same "id" value + $fileExt

    ),
);

Но мне нравится, что вместо жесткого кодирования значения для "url", оно соответствует значению ключа "name" + расширение файла, которое у меня уже есть в переменной, на тот случай, если мне понадобится изменить его позже.

Ответы [ 3 ]

1 голос
/ 04 февраля 2012

Это должно сделать работу:

$fileExt = ".php";

$var['page01'] => array (
    "id"    =>  "inicio",
    "name"  =>  "Inicio",
    "title" =>  "Incio - Cerartec",
);

$var['page01']['url'] = $var['page01']['name'] . $fileExt;
1 голос
/ 06 февраля 2012

Есть несколько способов сделать это, ниже, вероятно, самый простой, не видя весь код, который вы используете.

$fileExt = ".php";

$mainNav = array(

   "page01" => array (
      "id"    =>  "idvalue",
      "name"  =>  "value",
      "title" =>  "value"
   ),

   "page02" => array (
      "id"    =>  "idvalue2",
      "name"  =>  "value",
      "title" =>  "value"
   )
);

foreach($mainNav as $key => $value)
{
   $mainNav[$key]["url"] = $value["id"] . $fileExt;
}

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

0 голосов
/ 04 февраля 2012
$url = $page01['url'].$fileExt;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...