尝试
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 秒(阅读:在其他计算机上可能不同)。