Versuchen
echo date('n', strtotime('November')); // returns 11
Wenn Sie dies oft zu tun haben, könnten Sie erwägen ein Array verwenden, die diese Werte fest einprogrammiert hat:
$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');
Kann tun es auch andersherum Verwenden Sie jedoch die Namen für die Schlüssel und Zahlen für Werte.
mit den Namen für Werte, die Sie tun
echo array_search('November', $months); // returns 11
und mit Namen für Schlüssel, die Sie tun
echo $months['November']; // returns 11
Ich finde die Zahlen für die Tasten etwas besser im Allgemeinen verwenden, obwohl für Ihre UseCase die Namen für Tasten Ansatz ist wahrscheinlich komfortabler. Bei nur 12 Werten im Array sollte zwischen den Array-Ansätzen kein großer Unterschied bestehen.
Ein schneller Benchmark bemerkte einen Unterschied von 0,000003s vs 0,000002s, während die Zeitumwandlung 0,000060s auf meinem Computer dauert (lesen: kann auf anderen Computer abweichen).
Für diejenigen, die mit Objekten spielen bevorzugen, PHP 5.3 bringt uns 'Datetime :: createFromFormat ('F', $ month) - > Format ('n') ' – salathe
warum nicht die Namen als Schlüssel des Arrays verwenden, die Zahlen als Werte haben? Dann wäre es nur eine Frage der Verwendung von echo $ Monate ['November'] '* (und wäre wahrscheinlich schneller als die Verwendung von' array_search' - ok, ich gebe zu, ist nicht viel ausmacht ^^) * –
@ Pascal stimmte zu. War mehr wie eine persönliche Vorliebe als alles andere. Aktualisiert. – Gordon