losowa wielkość znaków w stringu

losowa wielkość znaków w stringu
SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

Witam, może ktoś ma pomysł jak szybko i prosto można wyświetlić losową wielkość liter z stringu (w PHP).
Mam dla przykładu: AH65C45SDABCD a potrzebuję wyświetlić z losową wielkością czyli np: aH65c4SSdabCd.

Freja Draco
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3394
3

strtoupper dla całego stringa
przeleć się pętlą po znakach stringa[nr_znaku]
strtolower zależnie od wartości uzyskanej z rand

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
3
  1. dzielisz string na pojedyncze znaki (pomoże np. funkcja str_split())
  2. przelatujesz tablicę foreachem, sprawdzasz czy znak jest is_numeric (olewasz) czy is_string
  3. jeśli string, to losujesz między dwiema wartościami. No, choćby rand(0, 1).
  4. jeśli wylosuje 1, to mb_strtoupper(), jeśli 0 - to mb_strtolower()
  5. na koniec sklejasz tablicę za pomocą implode() albo budujesz stringa w trakcie przelatywania tablicy - i tyle.
serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
4
jagoslau napisał(a):
  1. dzielisz string na pojedyncze znaki (pomoże np. funkcja str_split())
  2. przelatujesz tablicę foreachem, sprawdzasz czy znak jest is_numeric (olewasz) czy is_string
  3. jeśli string, to losujesz między dwiema wartościami. No, choćby rand(0, 1).
  4. jeśli wylosuje 1, to mb_strtoupper(), jeśli 0 - to mb_strtolower()
  5. na koniec sklejasz tablicę za pomocą implode() albo budujesz stringa w trakcie przelatywania tablicy - i tyle.

Nie ma potrzeby wrzucania liter stringu do tablicy. Sam string działa jak tablica. Jeśli masz np. $str = "ala ma kota", to jak odwołasz się do $str[2] to dostaniesz a. Więc można po prostu iterować kolejno po literach za pomocą for.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.