проблемы с датой в codeigniter php

1

Я пытаюсь присвоить $datestring в день недели - например. Воскресенье, понедельник и т.д., Потому что значение %w является числовым - это означает, что 1 - понедельник, 2 - и т.д.

Это проект codeignitor, и мой код запускает первый условный оператор, будь то true или false! Пожалуйста помоги.

     public function data()
 {

$datestring = "%w";
$time = time();

 echo mdate($datestring, $time);


if ($datastring =  "1") {

  echo "monday";
}
else if ($datastring = "2") {

  echo "tuesday";
}
 else if ($datastring = "3") {

  echo "wednesday";
}     

else if ($datastring = "4") {

  echo "thursday";
}

else if ($datastring = "5") {

  echo "friday";
}
else if ($datastring = "6") {

  echo "saturday";
}

else if ($datastring = "7") {

  echo "sunday";
}
return;
  }
Теги:
codeigniter

1 ответ

0
Лучший ответ

Для сравнения вам нужно double ==, потому что = назначено. И присваивать переменной "1" переменной $ datastring всегда верно, поэтому всегда сначала, если это правда. Измените его на:

if ($datastring ==  "1") {

  echo "monday";
}
else if ($datastring == "2") {

  echo "tuesday";
}
 else if ($datastring == "3") {

  echo "wednesday";
}     

else if ($datastring == "4") {

  echo "thursday";
}

else if ($datastring == "5") {

  echo "friday";
}
else if ($datastring == "6") {

  echo "saturday";
}
else if ($datastring == "7") {

  echo "sunday";
}

Изменение: я также добавил инструкцию else if для воскресенья. Вы можете использовать простое else в этом случае, потому что не осталось других параметров (поскольку $ datastring может содержать только числа от 1 до 7.

Чтобы сделать его более чистым, я бы использовал switch типа

switch ($datastring) {

  case 1:
    $day = "monday";
    break;
  case 2:
    $day = "tuesday";
    break;
  case 3:
    $day = "wednesday";
    break;
  case 4:
    $day = "thursday";
    break;
  case 5:
    $day = "friday";
    break;
  case 6:
    $day = "saturday";
    break;
  case 7:
    $day = "sunday";
    break;
  default:
    $day = "unknown day";
    break;    
}

echo $day;
  • 0
    Спасибо . Переключатель работал отлично. Я никогда не был уверен, когда использовать переключатель в программировании. ну, теперь я знаю один способ.
  • 1
    Пожалуйста. Если это было полезно для вас, пожалуйста, проголосуйте и примите это, чтобы показать сообществу, что это поможет вам в вашей проблеме. Хорошего дня!
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню