[php] jak wygenerowac unikalna liczbe z jednego slowa

0

Witam, mam pytanie w jaki sposób wygenerować z jednego słowa unikalną liczbę w okreslonym przedziale np od 0 do 200 jak to napisac w php , wielkie dzieki

0

Napisz może do czego tego potrzebujesz. Mi się wydaje że to raczej nie jest możliwe z jednego prostego powodu. Masz znacznie więcej niż 200 słów więc nie da się wygenerować unikalnej liczby... Po wykorzystaniu 200 zaczną się powtarzać.

0

do wyciągania artykułu z bazy o id -> numerze wygenerowanym z określonego słowa...

tych artykułów jest przykładowo 200, i dlatego liczba musi być z tego przedziału... 0 - 200

a słów jest oczywiście dużo więcej niż artykułów.....

0

nie wiem jak wyciągasz te artykuły ale może prościej by było szukać ich po tych słowach? a numerować można artykuły w takiej kolejności w jakiej są wgrane np. po dacie. nie wiem czy łatwo byłoby trafić na 2 artykuły wgrane w tej samej sekundzie, ale zrób sobie numer z data+godzina+minuta+sekunda wgrania artykułu i po problemie

0

e? to sie rozwiazaje przy uzyciu tzw slug, tzn: masz tytul artykulu np:

"To jest tytuł artukułu" i z tego powstaje slug "to-jest-tytul-artykulu" i zamiast id uzywasz slugu do pobrania konkretnego rekordu z bazy, tyle ze to ma wady:

  • trzeba stworzyc index
  • jak zmienisz tytul artykulu to zmieni sie slug
  • jak chcesz zrobic przyjazne linki to po zmianie tytuly artykul nie bedzie dostepny pod tym adresem
  • dosc skomplikowana implementacja :P
0

one muszą być wyciągane na podstawie liczby wygenerowanej z określonego słowaa.....po prostu muszą to mnie tylko interesuje... :-( liczba w przedziale 0 - 200 , liczba ta może się powtarzać dla dwóch różnych słów ale żeby był mały współczynnik powtórzeń ...

a chciałęm to w ten sposób zrobić że , za jednym razem ustalam jedną liczbę z słowa , następnie od tej wygenerowanej liczby odejmuje np. 5 , i wyciągam z bazy dwa artykuły i nastepnie je łącze...

a do czego mi potrzebna taka dziwna kombinacja to już nie istotne heh... :-)

0

średni pomysł ale zawsze

$numerek = crc32("jakiś artykuł");
$numerek = substr($numerek, 1, 3); 

od drugiego znaku jakby trafiła się liczba ujemna, będziesz miał coś z przedziale 0-999. jaka szansa że coś się powtórzy to musisz potestować.

// nie lepiej użyć modulo zamiast substr? - n

0

A może chodzi o hash tables?

1 użytkowników online, w tym zalogowanych: 0, gości: 1