Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] explode delimiter
potreb
post 5.05.2012, 15:12:02
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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
)


--------------------

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
redeemer
post 5.05.2012, 15:26:17
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
potreb
post 5.05.2012, 15:36:07
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tak myślałem smile.gif A do czego operatory bitowe mogą się przydać? Tak konkretnie.


--------------------

Go to the top of the page
+Quote Post
redeemer
post 5.05.2012, 15:53:47
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


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.

Ten post edytował redeemer 5.05.2012, 15:55:09


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:49