Как мне получить доступ к конкретный ассоциативный массив внутри 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 *
Вам не нужно передавать индекс для отображения значения. Просто эхо $key
а также $value
непосредственно
foreach ($namemonth as $key => $value)
{echo "if now the $key date, that's means now the month of $value <br>";}
Чтобы объяснить, что вы делаете неправильно, давайте перейдем к предоставленному вами коду:
Сначала твой 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
Вы должны попробовать это.
$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 числа, значит теперь декабрь месяц