Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie na ASCII oraz pisanie na wspak
Diablos
post
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 6
Dołączył: 17.06.2005

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


Ejo!

Poniewaz chcialem przetestowac kilka funkcji to zaczalem pisac sobie dla zabawy, male skrypty.

1. Pisanie na wspak.

  1. <?php
  2.  
  3. $string = 'Elo na wspak.';
  4.  
  5.  
  6.  
  7. for ( $i = 0; $i <= strlen($string); $i++ )
  8.  {
  9. echo substr($string, -1, 1);
  10. $string = str_replace(substr($string, -1, 1),'',$string);
  11.  }
  12.  
  13.  
  14. ?>


Niestety wynikiem jest tylko:
Cytat
.kapsw
Nie za bardzo rozumiem czemu.

2. Generowanie zdan na ASCII

  1. <?php
  2. $string = 'Elo na wspak.';
  3.  
  4. for ( $i = 0; $i < strlen($string); $i++ )
  5.  {
  6. echo ' ' . ord(substr($string, 0, 1));
  7. $string = str_replace(substr($string, 0, 1),'',$string);
  8.  }
  9. ?> 


Wynikiem jest
Cytat
69 108 111 32 110 97
co oznacza ,ze przetlumaczone zostalo tylko 6 znakow (Elo na). Tez nie wiem czemu nie caly tekst :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sobstel
post
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


bledy w logice

po pierwsze : w petli for fragment "$i <= strlen($string)" powoduje ze przy kazdej itaracji sprawdzasz dlugosc ciagu $string, a ze jego dlugosc zmniejsza sie poprzez wykonanie str_replace to robionych jest tylko 6 iteracji. zrób tak : for ($i=0, $count=strlen($string); $i++).

po drugie : str_replace powoduje usuniecie wszystkich wystapien danego znaku, czyli np. str_replace('a','','agrafka') zwroci 'grfk'

po trzecie : jesli rzeczywiscie potrzebuje do czegos odwrocenia ciagu uzyj strrev" title="Zobacz w manualu php" target="_manual
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 12:46