Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generowanie na ASCII oraz pisanie na wspak
Forum PHP.pl > Forum > PHP
Diablos
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 :/
sobstel
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
dr_bonzo
  1. <?php
  2. function reverseStr( $str )
  3. {
  4. $tmp = '';
  5. for ( $i = strlen( $str ) - 1; $i >= 0; $i-- )
  6. {
  7. $tmp .= $str{ $i };
  8. }
  9. return $tmp;
  10. }
  11.  
  12. ?>
gekon
Ja na ASCII zamieniam tak:
  1. <?php
  2.  
  3. function toASCII($string = ''){
  4. $i=0;
  5.  while($string[$i]){
  6. $out .= '&#'.ord($string[$i]).';';
  7. $i++;
  8.  }
  9. return $out;
  10. }
  11.  
  12. ?>
dr_bonzo
  1. <pre><?php
  2.  
  3. function Xord( &$char, $key )
  4. {
  5. $char = ord( $char );
  6. }
  7.  
  8. function convertToAsciiCodes( $txt )
  9. {
  10. $arrChars = str_split( $txt ); // PHP5
  11. array_walk( $arrChars, 'Xord' );
  12.  
  13. return $arrChars;
  14. }
  15.  
  16. $text = 'test konwersji na kody ascii';
  17. $codes = convertToAsciiCodes( $text );
  18. print_r( $codes );
  19. print( implode( ' ', $codes ) . '<br />' );
  20. ?></pre>
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.