Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] explode delimiter
Forum PHP.pl > Forum > Przedszkole
potreb
Czy taki kod ma prawo działać?
  1. $this->params = explode('&'|'/', $this->request);

Testuje na PHP 5.4, jednak w specyfikacji nie ma nic o takiej możliwości. Co mi zwraca?
Kod
REQ

Array
(
    [0] => pl
    [1] => informator
    [2] => v8778
    [3] => &?dsdsd&sds%3C%27%22;sdds
)
redeemer
Taki kod nie zwróci błędu, ale też nie ma on sensu, bo | to operator bitowy. Zrób sobie echo '&' | '/' i zobacz co dostaniesz. http://php.net/manual/pl/language.operators.bitwise.php
potreb
Tak myślałem smile.gif A do czego operatory bitowe mogą się przydać? Tak konkretnie.
redeemer
Np. ustawianie/sprawdzanie flag (tutaj przykład prosto z PHP: http://www.php.net/manual/pl/function.error-reporting.php). Tak naprawdę, to do error_reporting przekazujesz jako argument zwykłą liczbę całkowitą. Dzięki temu w liczbie 32 bitowej każdy bit może reprezentować pojedyńczą flagę: 1 - flaga włączona, 0 - flaga wyłączona.

Weźmy dla przykładu jakąś aplikację, gdzie użytkownik zaznacza jakie lubi kolory. Może zaznaczyć wszystkie, cześć z nich, albo nic nie wybrać. Jeżeli tych kolorów jest relatywnie mało (nie więcej niż bitów w typie INTEGER na danej platformie) to te dane możemy zapisać w jednej kolumnie w bazie danych o typie INTEGER. W tym wypadku każdy bit to będzie inny kolor, a jego wartość będzie oznaczała czy go lubi (1), czy też nie (0). Bazy danych obsługują operacje bitowe, więc z wyszukiwaniem itd. nie ma problemu.

Warto też dodać, że operacje bitowe są bardzo szybkie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.