Это моя домашняя работа, в которой меня попросили конвертировать время с 12 часов до 24 часов, когда было предоставлено время в этом формате 05:09:15AM
. Я новичок в программировании, поэтому вместо того, чтобы идти в циклы, я решил сделать это с условными утверждениями. Итак, я создал 4 условия (я использовал условия как shown here)Преобразование от 12 часов до 24 часов в PHP
В чем проблема? Проблема в том, что я получаю сообщение об ошибке $_time variable is undefined
, когда я печатаю $_time
. По моему пониманию, это происходит потому, что переменная $_time
находится внутри функций. Но если это так, можете ли вы мне посоветовать, как это сделать?
<?php
$_a = ("07:29:23PM");
$_a = explode(':',$_a);
if($_a[0] == 12 && $_a[1] <= 59 && strpos("PM", $_a[2] !== FALSE))
{
$_rpl = str_replace("PM","",$_a[2]);
$_time = $_a[0].":".$_a[1].":".$_rpl;
}
elseif($_a[0] < 12 && $_a[1] <= 59 && strpos("PM", $_a[2] !== FALSE))
{
$_a[0] += 12;
$_rpl = str_replace("PM","",$_a[2]);
$_time = $_a[0].":".$_a[1].":".$_rpl;
}
elseif($_a[0] == 12 && $_a[1] <= 59 && strpos("AM", $_a[2] !== FALSE))
{
$_a[0] = 00;
$_rpl = str_replace("AM","",$_a[2]);
$_time = $_a[0].":".$_a[1].":".$_rpl;
}
elseif($_a[0] < 12 && $_a[1] <= 59 && strpos("AM", $_a[2] !== FALSE))
{
$_rpl = str_replace("AM","",$_a[2]);
$_time = $_a[0].":".$_a[1].":".$_rpl;
}
echo $_time;
?>
Если он говорит, что '$ _time' не определен, это потому, что в текущей области он не может разрешить имя' $ _time'. попробуйте добавить '$ _time;' в новую строку после '$ _a = explode (':', $ _ a);' –
oh его не определяется, потому что все ваши условные условия терпят неудачу, что-то кажется неправильным: 'strpos (" PM ", $ _a [2]! == FALSE)' ?? это должно быть 'strpos (" PM ", $ _a [2])! == FALSE' –
Спасибо @ iam-decoder за обнаружение ошибки, но это уведомление (ошибка) сохраняется – Vivek