Использование даты в качестве массива - PullRequest
0 голосов
/ 15 декабря 2010

Есть ли способы использовать DATE в PHP как массив. Мне нужно чего-то добиться, как показано ниже:

$date_array = (1-Jan => 'A', 2-Jan => 'B', 3-Jan => 'C', .... so on)

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2010

В руководстве по PHP указано, что в качестве ключей для ассоциации могут использоваться только строка и целое число.массивы, но date возвращает строку, поэтому они должны быть в порядке, но получить значения обратно было бы немного грязно.

Как насчет чего-то вроде:

$arr = Array(
'A'=>date('Y-m-d', time()),
'B'=>date('Y-m-d', time()-(7 * 24 * 60 * 60))
);

echo in_array(date('Y-m-d'), $arr);

Это эхо "1".

Моя ошибка, вам нужно использовать array_search () вместо in_array (), чтобы вы получили ключ массива:

echo array_search(date('Y-m-d'), $arr);

Ouputs" A ".

0 голосов
/ 15 декабря 2010

Вручную:

$array['1-Jan'] = 'A';
$array['2-Jan'] = 'B';
...

Или с петлей:

$array = array();
$currentDate = strtotime('2010-01-01');
$totalDays = 365;
for ($i=0; $i<$totalDays; $i++) {
  $array[date('j-M', $currentDate)] = $i;
  $currentDate = strtotime("+1 day", $currentDate);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...