Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
php:bitweise [2018/03/16 07:57] webproducer |
php:bitweise [2021/01/05 09:59] (aktuell) webproducer PHP-Beispiel für die Überprüfung von Öffnungszeiten |
||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
$weekdays = 72; // Wert aus der Datenbank: Mittwoch und Samstag | $weekdays = 72; // Wert aus der Datenbank: Mittwoch und Samstag | ||
- | $values = array( 1, 2, 4, 8, 16, 32, 64 ); | ||
$today = date( "w" ); // heutiger Wochentag (0 bis 7) | $today = date( "w" ); // heutiger Wochentag (0 bis 7) | ||
- | $value = $values[$today]; // heutigen Wert aus Wertezuordnung ermitteln | + | $value = pow( 2, $today ); // Potzenzwert des heutigen Wochentags |
- | if( $value & $weekdays ) | + | if( $value & $weekdays ) // wenn der Potzenwert in den Wochtentagen enthalten ist |
{ | { | ||
echo "Heute ist Mittwoch oder Samstag!"; | echo "Heute ist Mittwoch oder Samstag!"; | ||
Zeile 38: | Zeile 37: | ||
Das übrig gebliebene 32. Bit muss für den Fall, dass alle Zustände auf "aktiv" gesetzt werden, reserviert bleiben da die Summe aller 31 Zustände genau dem Wert 2^32 entsprechen. | Das übrig gebliebene 32. Bit muss für den Fall, dass alle Zustände auf "aktiv" gesetzt werden, reserviert bleiben da die Summe aller 31 Zustände genau dem Wert 2^32 entsprechen. | ||
+ | ==== PHP-Beispiel für die Überprüfung von Öffnungszeiten ==== | ||
+ | |||
+ | Mit [[php_isopen|dieser PHP-Funktion "isOpen"]] kann anhand von übergebenden Öffnungszeiten überprüft werden, ob z. B. ein Ladengeschäft aktuell geöffnet ist. Hierbei werden für die Angabe von Wochentagen ebenfalls deren Dezimal-Werte verwendet. | ||
==== Überprüfung mit mySQL ==== | ==== Überprüfung mit mySQL ==== |