Forum Webscript.Ru

Программирование => PHP => Тема начата: Enemy от 27 Октября 2002, 14:57:48

Название: array
Отправлено: Enemy от 27 Октября 2002, 14:57:48
типа как есть масив напр.
$month = array(1 => "Jan", 2 => "Feb", 3 => "Mar", 4 => "Apr", 5 => "May", 6 => "Jun", 7 => "Jul", 8 => "Aug", 9 => "Sep", 10 => "Oct", 11 => "Nov", 12 => "Dec");

беру дату:
$selected = date ("M"); //возвращает "Oct"

Теперь мне нужно узнать номер елемента $selected в масиве... Можно конечно перебором, но может есть нужная функция? Я не нашел...
Название: array
Отправлено: Макс от 27 Октября 2002, 15:49:08
а может
$month[intval(date("m"))]
или
$month[intval(date("m"))+1]
Название: array
Отправлено: rembo от 27 Октября 2002, 18:05:36
$selected=date("n");
Название: array
Отправлено: Enemy от 06 Ноября 2002, 20:08:12
rembo Спасибо. Но это был ответ на текущую ситуацию, когда масив дат.
А если там любые данные, или в перемешку, короче:
//так можно узнать номер елемента в массиве

$num = array_keys ($month, date("M"));
$selected = $num[0];
Название: array
Отправлено: new от 06 Ноября 2002, 23:59:22
array_flip($month);

P.S.
Ясно дело что ограничения есть (см. manual), но элегантней твоего вычитанного ;)

$month = array(1 => "Jan", 2 => "Feb", 3 => "Mar", 4 => "Apr", 5 => "May", 6 => "Jun", 7 => "Jul", 8 => "Aug", 9 => "Sep", 10 => "Oct", 11 => "Nov", 12 => "Dec");


$result = array_flip($month);

// что ты получишь?
echo $result["Nov"];
Название: array
Отправлено: Меняздесьдавнонет от 07 Ноября 2002, 15:50:51
Enemy
в массивах нет номеров.
так что, узнавать нечего.
Если тебе нужен номер, то, значит, ты просто поставил себе неправильную задачу.