Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    Cambiare da numerica ad alfanumerica una variabile

    C'è un comando per trasformare "la proprietà" di una variabile numerica in alfanumerica?

    Ovvero, fare vedere un "1" non come numero, ma come lettera?

    Perchè chiedo questo?
    Ho un txt disposto così, alternato riga alfanumerica-numerica.

    roma
    1
    bologna
    0


    Metto riga per riga in un array con un ciclo di fgets. Va tutto bene. Ho un'echo giusta.
    Implemento il valore di Roma facendo $righe[2]=$righe[2]+1. Echo esatta, operazione riuscita.

    Ora voglio rimettere l'array nel txt, riga per riga, con un ciclo di fputs. Va a capo da solo riga dopo riga TRANNE LA RIGA IMPLEMENTATA, OVVERO TRANNE DOPO CHE HA INSERITO $righe[2]
    L'echo diventa:

    roma
    2bologna
    0

    Da questo deduco che fputs dopo le stringe alfanumeriche vada a capo, dopo le numeriche no.
    Anche inserendo \n non va. Allora chiedo:

    Come faccio a ri-rendere quel 2 alfanumerico? O a farlo andare a capo?
    Tenete presente che \n non va, anzi, viene visualizzato come un cubetto nero nel txt.

    Grazie a chiunque mi dia un'idea

    ps: ad avvalorare la mia tesi, c'è anche il fatto che l'implementazione fatta così $riga[2]++ non va!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    chi è per curiosità

    $righe[0]?

    PHP non numera gli array a cominciare dall'indice 0? Se $righe[3] corrisponde a "Roma", allora $righe[2] è, come dici tu, 1 - altrimenti la cosa non funziona così bene come apparentemente sembra funzionare.

    PS: solo notepad fa vedere l'acapo "\n" come il cubetto... se apri in wordpad tutto ok
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Sono stato io a far partire l'array da 1, facendo partire il contatore da 1. Era una comodità. Va!

    Magari fosse solo un problema di visualizzazione dell'editor. Perchè, se io faccio rigirare una seconda volta il php, mi si incasina tutto, quindi l'ha effettivamente salvato sballato.

    Chi mi può dire se e come si possono cambiare le "proprietà" di una variabile? O se ha altre idee... grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    puoi fare il cast a int

    (int)(quello che devi fare)

    ad esempio: $righe[2]=(int)($righe[2])+1;
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    A cosa serve (int)?

    Comunque, non cambia nulla...

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    int serve a fare il cast ad intero. non cambia nulla perché fondamentalmente non c'è niente da cambiare... solo da aprire con programma diverso da notepad.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Ma se ti ho detto che, dopo una prima volta che ho fatto girare lo script, la seconda non va, significa che non è una questione di editor, visto che la prima volta la struttura del txt viene "sconbussolata"... fai pure una prova
    http://canalebmc.altervista.org/prova.htm

  8. #8
    Quando si va ha prendere 2 dal txt per metterlo nell'array crea una nuova variabile in questo modo, se il duo e contenuto nella var $next_line fai $nuova="$next_line"; dovrebbe portare il 2 come stringa. E allora andrà accapo al momento dell'inserimento.
    ----FIREANTOLOGY-----
    Informative system developer

  9. #9
    Buona idea, ma guarda una cosa:
    come ho detto sopra, tendo a pensare che la trasformazione del 2 da alfa a numero avvenga dopo l'implementazione.
    E' possibile fare quello che dici tu, dopo l'implementazione?
    Perchè se la faccio in ciclo, poi quando l'implemente (dopo il ciclo) sono da capo...

  10. #10
    Non puoi farlo nel ciclo stessto, tanto che te frega ritrasformare ciò che è alfanumerico in alfanumerico, fallo con tutti direttamente nel ciclo, se mi posti il codice posso aiutarti di più perchè non conosco la sintassi di fputs
    ----FIREANTOLOGY-----
    Informative system developer

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.