분기 시간으로 드롭 다운 목록을 채우려고합니다. 키는 옵션 값이고, 값은 옵션 텍스트입니다.array_map - 연관 배열 가능성을 사용하여 시간 배열 만들기?
private function quarterHourTimes() {
$formatter = function ($time) {
return date('g:ia', $time);
};
$quarterHourSteps = range(25200, 68400, 900);
return array_map($formatter, $quarterHourSteps);
}
문제는 위의 기능이 작동하지만 연관 배열로 작동하지 않는 것입니다. 이 문제에 대한 우아한 해결책이 있습니까? 키에 대한
, 나는 다음과 같은 형식date('H:i', $time);
예에 시간이하고자하는 배열은 다음과 같아야합니다
$times =
[
['07:00' => '7:00am'],
['07:15' => '7:15am'],
['07:30' => '7:30am'],
['07:45' => '7:45am'],
['08:00' => '8:00am'],
['08:15' => '8:15am'],
...
];
내 솔루션 - 덤프 array_map :
private function myQuarterHourTimes()
{
$quarterHourSteps = range(25200, 68400, 900);
$times = array();
foreach(range($quarterHourSteps as $time)
{
$times[date('H:i', $time)] = date('g:ia', $time);
}
return $times;
}
"재귀 적"이라는 단어에주의하십시오.'array_map()'은 제공 한 배열의 각 요소에 지정한 함수를 적용합니다. 제공하는 콜백 함수가 자신을 호출하지 않으면 재귀가 발생하지 않습니다. – crennie
@crennie - 당신 말이 맞아요. - 이전에 재귀 적으로 처리하려했으나 재귀 적으로 문제가 발생했습니다. 문제를 해결하기 위해 재귀를 제거했지만 제목을 변경하는 것을 잊었습니다. 내 잘못이야. – Gravy