Попробуйте
echo date('n', strtotime('November')); // returns 11
Если вам приходится делать это часто, вы можете рассмотреть возможность использования массива с жестко заданными значениями:
$months = array( 1 => 'January', 2 => 'February', 3 => 'March', 4 => 'April',
5 => 'May', 6 => 'June', 7 => 'July', 8 => 'August',
9 => 'September', 10 => 'October', 11 => 'November',
12 => 'December');
Можно сделать и наоборот, используя имена для ключей и цифры для значений.
С именами для значений, которые вы делаете
echo array_search('November', $months); // returns 11
и с именами для ключей, которые вы делаете
echo $months['November']; // returns 11
Я считаю, что использование чисел для клавиш несколько лучше в целом , хотя для вашего UseCase подход имен для клавиш, вероятно, более удобен. Если в массиве всего 12 значений, разница между массивами не должна быть большой.
В быстром тесте было отмечено различие в 0,000003 с против 0,000002 с, тогда как преобразование времени на моем компьютере занимает 0,000060 с (читай: на другом компьютере может отличаться).