Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] przesuwanie znaków w zmiennej
Forum PHP.pl > Forum > Przedszkole
Gość
witajcie,
szukam, szukam i nic
mianowicie muszę przesunąć znaki w zmiennej "o 1 w prawo"
przykładowo mam zmienną
$zmienna="abcdefgh"
chcę aby została odczytana jako "bcdefghi"
czekam na odpowiedź,
pozdrawiam
nexis
  1. <?php
  2. $input = 'abcdefgh';
  3. $output = '';
  4.  
  5. for ($i=0; $i<strlen($input); $i++) $output .= chr(ord($input[$i])+1);
  6.  
  7. echo $input .'->'.$output;
  8. ?>
uli
Cytat(Gość @ 3.09.2007, 11:21:24 ) *
witajcie,
szukam, szukam i nic
mianowicie muszę przesunąć znaki w zmiennej "o 1 w prawo"
przykładowo mam zmienną
$zmienna="abcdefgh"
chcę aby została odczytana jako "bcdefghi"
czekam na odpowiedź,
pozdrawiam


A skąd Tobie się bierze 'i' na końcu?? Rozumiem, że to kolejna litera alfabetu, ale skąd konkretnie się tam wzięła?

Jeśli to jest dobrze to:

  1. <?php
  2. $alfabet = "abcdefghijklmnoprstuwyz";
  3. $zmienna = "abcdefgh";
  4.  
  5. $pozycja = strpos($alfabet, $zmienna);
  6. $pozycja++;
  7. $przesuniecie = substr($alfabet,$pozycja, strlen($zmienna));
  8.  
  9. echo $przesuniecie;
  10. ?>
Hazel
No to może jeszcze jeden kod tongue.gif
  1. <?php
  2. $ciag = 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,w,y,z'; // lub dowolny inny ciąg, może być z polskimi znakami albo z q, v i x, itp.
  3. // znaki oddzielone od siebie przecinkami
  4. $tablica = explode(',', $ciag);
  5. $zmienna = 'abcdefghij';
  6. for ($i=0; $i<strlen($zmienna); $i++)
  7. {
  8.  for ($j=0; $j<count($tablica); $j++)
  9.  {
  10. if ($zmienna{$i} == $tablica[$j])
  11. {
  12.  $zmienna{$i} = $tablica[$j+1];
  13.  break;
  14. }
  15. continue;
  16.  }
  17. }
  18. echo $zmienna;
  19. ?>


Napisałem, więc czemu mam go nie umieścić? tongue.gif
cornholio666
chr

ord

ascii table

I wszystko bedzie jasne
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.