如何访问foreach中的特定关联数组?

时间:2018-04-04 11:59:43

标签: php arrays foreach

如何在foreach循环中访问特定的关联数组? 例如,我想显示以下文字:“如果现在第一个日期意味着现在是1月”。

这是我到目前为止所做的:

$namemonth = array(
    1  => "January",
    2  => "February",
    3  => "March",
    4  => "April",
    5  => "May",
    6  => "June",
    7  => "July",
    8  => "August",
    9  => "September",
    10 => "October",
    11 => "November",
    12 => "December"
);

foreach ($namemonth as $key => $value) {
    echo "if now the $key[1] date, that's means now the month of $value[1]";
}

但是当我尝试运行代码时,浏览器中会显示以下值:

  

如果现在是日期,那就是现在的月份。直到12 *

3 个答案:

答案 0 :(得分:1)

您不需要将索引传递给显示值。只需直接回复$key$value

foreach ($namemonth as $key => $value)
{echo "if now the $key date, that's means now the month of $value <br>";}

答案 1 :(得分:0)

为了解释你做错了什么,让我们来看看你提供的代码:

首先是foreach循环:

foreach ($namemonth as $key => $value)
  • $namemontharray
  • $keyarray的当前索引,例如。 $namemonth[1], $namemonth[2], ...
  • $value是当前array索引
  • 的值

$key[1]转换为1[1], 2[1], 3[1] ...
$value[1]转换为January[1], February[1], March[1] ...

正如您所看到的,您尝试获取的是错误的。 1[1]不存在,January[1]也不存在。

如果您确实只想打印 January ,请执行以下操作:

foreach ($namemonth as $key => $value)
{
    if($key == 1)
    {
        echo "if now the $key date means now the month of $value<br/>";

        // Use break to quit the foreach loop after `if` statement is true
        break;
    }
}

// Output
if now the 1 date means now the month of January

答案 2 :(得分:0)

你应该尝试这个。

$month_names = array(
    1 => "January",
    2 => "February",
    3 => "March",
    4 => "April",
    5 => "May",
    6 => "June",
    7 => "July",
    8 => "August",
    9 => "September",
    10=> "October",
    11=> "November",
    12=> "December"
);
// Here $month_names is an array.
foreach($month_names AS $month_number => $month_name){
    // Here $month_number is a key of an array.
    // Here $month_name is a value of an array.
    echo "if now the $month_number date, that's means now the month of $month_name <br/>";
}
  

输出

如果现在是1个日期,则表示现在是1月份

如果现在是2日期,则表示现在是2月份

如果现在是3日期,则表示现在是3月份

如果现在是4日期,则表示现在是4月份

如果现在是5日期,则表示现在是5月份

如果现在是6日期,则表示现在是6月份

如果现在是7日期,则表示现在是7月份

如果现在是8日期,则表示现在是8月份

如果现在是9日期,那意味着现在是9月份

如果现在是10日期,则表示现在是10月份

如果现在是11日期,则表示现在是11月份

如果现在是12日期,则表示现在是12月份