Я пытаюсь создать функцию, которая форматирует даты из вложенных массивов, лежащих в одном массиве. Я могу найти и отобразить значения в массиве, однако я стараюсь отформатировать дату так, как я хочу ее распечатать. То, как мой код настроен, у меня есть одна функция, которая входит в массив, перебирает каждый из вложенных массивов и распечатывает значение, прикрепленное к ключу, который он должен искать.
Это прекрасно работает, но моя другая функция предназначена для того, чтобы взять дату и отформатировать ее так, как я хочу, чтобы она распечатывалась с помощью функции даты и просто не ходила. У меня есть несколько идей относительно того, почему это так, но я знаю, что не знаю, поэтому я надеюсь, что кто-то может помочь. Спасибо заранее, я ценю любого, кто пытается помочь мне в этом. Я новичок в php, так что это был интересный набег.
Я использовал функции php date, strtotime и date_create_from_format, чтобы попытаться взять дату и отформатировать ее в дату так, как я хочу.
// Example clip from array
$Full_List_Of_Recover_Items = array (
0 =>
array (
'ActionTimeStamp' => '2018-07-23 15:17:23'
)
);
// End format would look like July 23, 2018 3:17pm
<?php
function valGet($arr, $value)
{
foreach($arr as $row)
{
foreach($row as $key => $val)
{
if ($key == $value)
{
if ($val == NULL)
echo "empty";
else
echo $val;
}
}
}
}
function timeFormat($timeStamp)
{
// split the array value to set up date
$first = explode(" ", $timestamp);
$second = explode("-", $first);
$third = explode(":", $second);
// format the date and convert it attempt
$stringTime = strtotime("D, F, d, Y, g, i", $timestamp);
$date = date_create_from_format("Y-m-d H:i:s");
echo date($date($stringTime));
}
?>
// invocation on html
<p>
<?php
echo timeFormat(valGet($Full_List_Of_Recover_Items, 'ActionTimeStamp'));
?>
</p>