как мне получить доступ к конкретному ассоциативному массиву внутри foreach?

Как мне получить доступ к конкретный ассоциативный массив внутри foreach цикл?
Например, я хочу отобразить следующий текст: «если сейчас первая дата означает теперь январь месяц».

Вот что у меня так далеко:

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

1

Решение

Вам не нужно передавать индекс для отображения значения. Просто эхо $key а также $value непосредственно

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

Другие решения

Чтобы объяснить, что вы делаете неправильно, давайте перейдем к предоставленному вами коду:

Сначала твой foreach цикл:

foreach ($namemonth as $key => $value)
  • $namemonth это array
  • $key текущий индекс arrayнапример $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],

Если вы действительно хотите только январь чтобы быть напечатанным, тогда сделайте это:

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
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 дата, значит теперь январь месяц

если сейчас 2 числа, значит теперь февраль месяц

если сейчас 3 числа, значит теперь март

если сейчас 4 числа, значит теперь апрель месяц

если сейчас 5 числа, значит теперь месяц май

если сейчас 6 дата, значит теперь июнь месяц

если сейчас 7 дата, значит теперь июль месяц

если сейчас 8 дата, значит теперь август месяц

если сейчас 9 числа, значит теперь сентябрь месяц

если сейчас 10 числа, значит теперь октябрь месяц

если сейчас 11 дата, значит теперь ноябрь месяц

если сейчас 12 числа, значит теперь декабрь месяц

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector