hash_32bit(text)
Zamienia (koduje) znaki w texcie na sumę bitów. Niestety jest w stanie zakodować wył±cznie kilkana¶cie pierwszych znaków. Ma też innego fajnego buga :-) Kodowanie przebiega tylko w jedn± strone i nie da się tego już rozkodować, ale za to jest bardzo szybkie.
@ :test = hash_32bit(#qqq) $test to '8570' |
$hash_32bit() jest bardzo pomcne przy budowaniu różnego rodzaju cache`ów. Np. chcemy mieć informacje dotyczące paru odsób na paru kanałach: musimy zatem zrobić sobie kilka zmiennych dzięki którym łatwo będzie można odróżnić poszczególne osoby na konkretnych kanałach.
Załóżmy, że mamy nicki 'Pikachu, 'A-psik' i '[plonk]' i chcemy zaznaczyć, ze mają na jakiś tam kanałach jakieś prawa. @ cache[$hash_32bit(#blah)][$hash_32bit(Pikachu)] = 1@ cache[$hash_32bit(#blah)][$hash_32bit(A-psik)] = 1 @ cache[$hash_32bit(#pokemon)][$hash_32bit([plonk])] = 1 |
Dlaczego potrzemujemy tu $hash_32bit()? Ponieważ wynika to z ograniczeń co do nazw zmiennych -- nie może być w nazwie zmiennej żadnych znaków '#' (hash), '[ ]' (nawiasy kwadratowe - gdyż będzie to traktowane jako nowy wymiar struktury) oraz np. znaków '-' (minus). Dlatego wyrażenia mogące zawirać takie znaki należy jakoś zakodować.
Zobacz także: $crypt(), $encode(), $decode(), $urlencode()
Lista Funkcji | Home | Następny Paragraf |