2012-02-03 3 views
-1

Извините, потому что я знаю, что это, вероятно, вопрос о нобе, но у меня так много работы, что я не могу закончить процесс обучения 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», он совпадает со значением из key "name" + расширение файла, которое у меня уже есть в переменной, на случай, если мне нужно будет изменить его позже.

+0

Ну как-то вы должны получить значение для установки имени. Просто используйте тот же метод, чтобы установить значение url с расширением – Henesnarfel

+0

Я знаю, как его жестко кодировать ... Я просто не знаю, как сопоставить значения внутри одного и того же массива. –

ответ

1

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

$fileExt = ".php"; 

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

$var['page01']['url'] = $var['page01']['name'] . $fileExt; 
+0

это может сработать, но мой реальный случай его немного сложнее. У меня есть многомерный массив, чтобы быть честным. –

+0

Вы можете пройти через это и сделать это для каждого ключа? – entropid

1

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

$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-адрес.

Смежные вопросы