如何匹配同一个数组中其他键值的键值?

时间:2012-02-03 20:23:57

标签: php arrays array-key

我很抱歉,因为我知道这可能是一个菜鸟问题,但我有很多工作要做,我无法完成我的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”的值+我已经在变量中的文件扩展名,以防我以后需要更改它。 / p>

3 个答案:

答案 0 :(得分:1)

这应该做的工作:

$fileExt = ".php";

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

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

答案 1 :(得分: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;
}

我也在想这些东西存放在数据库中?如果是这样,只需为网址添加一个字段,当您插入页面时,请继续并同时执行网址。

答案 2 :(得分:0)

$url = $page01['url'].$fileExt;