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 ==== | ||