Могу ли я использовать оператор if с несколькими условиями? Переполнение стека

Могу поспорить, что смогу, но будет ли это работать так?

function dutchDateNames($) {
$day = explode('-', $date)[2];
$dutchday = ($day < 10) ? substr($day, 1) : $day;

$month = explode('-', $date)[1];
if ($month == '01' . '02') {
$dutchmonth = 'Januari' . 'Februari';
}

$dutchdate = $dutchday . ' ' . $dutchmonth . ' ' . explode('-', $date)[0];
return $dutchdate
}

Так что если $month 01, $ dutchmonth должен быть Januari. Если $ month равен 02, $ dutchmonth должен быть Februari и так далее.
У меня такое чувство, что я не делаю это правильно?

-1

Решение

Например, вы не вернетесь ни за один месяц, потому что соединяете (mounth 0102 не существует).

Если я правильно понимаю ваш вопрос, я думаю, что массив будет лучше:

$month = explode('-', $date)[1]; //Ok you use this data like an index

$letterMonth = ['01' => 'Januari', '02' => 'Februari', ....]; // Create an array with correspondance number -> letter month

$dutchmonth = $letterMonth[$month]; Get the good month using your index
1

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

Попробуй это:

использование elseif условия

if ($month == '01') {
$dutchmonth = 'Januari';
} elseif ($month == '02') {
$dutchmonth = 'Februari';
} elseif ($month == '03') {
$dutchmonth = '...';
}
0

Создать поисковый массив и получить значение по ключу:

$month = '02';
$months = [
'01' => 'Januari'
'02' => 'Februari'
// more months here
];
$dutchmonth = isset($months[$month])? $months[$month] : '';
echo $dutchmonth;
0

Я думаю, что правильный способ сохранить карту в массиве. демонстрация

<?php
$array['01'] = 'Januari';
$array['02'] = 'Februari';
print_r($array);

echo $array[$month];
0

Вы можете сделать любой из этих:

  1. если еще

    if ($month == "01") {
    $dutchmonth = "Januari";
    } else if($month == "02"){
    $dutchmonth = "Februari";
    }
    
  2. переключатель

    switch($month) {
    case "01":
    $dutchmonth = "Januari";
    break;
    case "02":
    $dutchmonth = "Februari";
    break;
    }
    
  3. Используя массив

    $month_arr = array('01' => "Januari", '02' => "Februari");
    $dutchmonth = $month_arr[$month];
    

НОТА: Использовать несколько if условия использования логические операторы && или же ||

0
По вопросам рекламы [email protected]