Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - cast da int a carattere
Forum - PHP - cast da int a carattere

Avatar
alek777 (Normal User)
Rookie


Messaggi: 25
Iscritto: 18/09/2007

Segnala al moderatore
Postato alle 20:39
Martedė, 18/09/2007
:-| devo effettuare un cast da int a char perchč voglio generare una stringa di lettere random da usare per verificare se il commento del mio post č veramente scritto da un umano e non da un bot o cose simili.

il problema č che non effettua il cast, restano i numeri.

ecco il codice

Codice sorgente - presumibilmente PHP

  1. <?PHP
  2.   $str="";
  3.   for ($i=0;$i<=5;$i++){
  4.       $n=rand (97, 122);
  5.       $str=$str.(string)$n;
  6.   }
  7.   echo $str;
  8. ?>



cosa sbaglio?

PM Quote
Avatar
alek777 (Normal User)
Rookie


Messaggi: 25
Iscritto: 18/09/2007

Segnala al moderatore
Postato alle 21:07
Martedė, 18/09/2007
ho pensato a questo ma evito il problema...


Codice sorgente - presumibilmente PHP

  1. <?PHP
  2.   $str="";
  3.   $arr=array ("a","b","c","d","e","f","g","h",
  4. "i","l","m","n","o","p","q","r","s","t","u","v",
  5. "z","x","y","k","j","w","1","2","3","4","5","6","7","8","9","0");
  6.   for ($i=0;$i<=5;$i++){
  7.       $n=rand (0, 35);
  8.       $str=$str.$arr[$n];
  9.   }
  10.   echo $str;
  11. ?>


Ultima modifica effettuata da alek777 il 24/09/2007 alle 2:02
PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 23:14
Martedė, 18/09/2007
Codice sorgente - presumibilmente Plain Text

  1. <?PHP
  2. $str = "";
  3.  
  4. for( $i=0; $i<=5; $i++ ) {
  5.     $n = rand(97, 122);
  6.     $str .= (char) $n;
  7. }
  8.  
  9. echo $str;
  10. ?>



Non l'ho testato, quindi non so se funziona. :-|
Fammi sapere se č corretto, altrimenti ci do
un'occhiata con calma.

Ultima modifica effettuata da Shutdown il 18/09/2007 alle 23:17
PM Quote
Avatar
alek777 (Normal User)
Rookie


Messaggi: 25
Iscritto: 18/09/2007

Segnala al moderatore
Postato alle 0:15
Mercoledė, 19/09/2007
ho provato anche cosė ma non va

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 13:57
Mercoledė, 19/09/2007
Okay...
Appena ho due secondi riscrivo / testo
il codice! :k:

PM Quote
Avatar
radio (Ex-Member)
Expert


Messaggi: 327
Iscritto: 03/03/2005

Segnala al moderatore
Postato alle 22:03
Venerdė, 21/09/2007
Codice sorgente - presumibilmente PHP

  1. <?php
  2. header("Content-type: text/plain");     // Non so se ti serve... Non credo
  3. $n_char=15;             // Numero caratteri da generare
  4.  
  5. $str="";                // Cosė evito il Notice di variabile non definita su $str [ma basterebbe sopprimere la visualizzazione degli errori di livello notice ;) )
  6. for ($i=0; $i<=$n_char; $i++)
  7.         {
  8.         $rnd_char= chr(rand(65, 122)); // Il carattere casuale č chr ovvero carattere da codice ascii e il codice asci č dato da rand, l'intervallo sceglilo tu, gaurda qui http://www.asciitable.com/
  9.        
  10. //      echo "Carattere $i => $rnd_char [".gettype($rnd_char)."]\n"; // se proprio vuoi controllare decommenta :)
  11.         $str .= $rnd_char;
  12.         }
  13.  
  14. // scrive la stringa
  15. print($str);
  16. ?>


O, pių semplicemente
Codice sorgente - presumibilmente PHP

  1. <?php
  2. $str="";
  3. for ($i=0; $i<=15; $i++)
  4.         $str .= chr(rand(65, 122));
  5. print($str);
  6. ?>



Il codice si spiega da se, comunque gli altri erano errati perchč nella conversione tra tipi il php, da numero a stringa fa corrispodnere la stringa che rappresenta quel numero, e non il codice ascii del carattere: tipo $int=022 $foo=(string)$int; print($foo); restituisce "022".

per il resto il mio codice "si commenta da sč" : basta usare chr() LOL

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 1:09
Sabato, 22/09/2007
radio non so come farei senza di te! :rotfl:
Menomale che mi aiuti tu a rispondere, altrimenti... :D
Grande! :k:

PM Quote
Avatar
alek777 (Normal User)
Rookie


Messaggi: 25
Iscritto: 18/09/2007

Segnala al moderatore
Postato alle 2:18
Sabato, 22/09/2007
WOW grande :D

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 0:57
Lunedė, 24/09/2007
Eh Eh... io l'avevo detto! :rotfl:

PM Quote