【问题标题】:How to match a key value in for other key value inside the same array?如何为同一数组中的其他键值匹配一个键值?
【发布时间】:2012-02-03 20:23:56
【问题描述】:

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

【问题讨论】:

  • 好吧,您必须以某种方式获取要设置为名称的值。只需使用相同的方法设置带有扩展名的 url 值
  • 我知道如何硬编码...我只是不知道如何匹配同一个数组中的值。

标签: php arrays array-key


【解决方案1】:

这应该可以完成工作:

$fileExt = ".php";

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

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

【讨论】:

  • 这可能有效,但我的实际情况要复杂一些。老实说,我有一个多维数组。
  • 你可以通过它为每个键做它吗?
【解决方案2】:

有几种方法可以做到这一点,下面可能是最简单的,无需查看您正在使用的所有代码。

$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。

【讨论】:

    【解决方案3】:
    $url = $page01['url'].$fileExt;
    

    【讨论】:

      猜你喜欢
      • 2021-01-23
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多