Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Bloccare una variabile..

    ciao,

    ho un problema..non so se è banale..ma non mi viene un'idea. Spiego:
    leggo un file di testo riga per riga. La prima riga di questo file contiene una data nel formato
    30/06/04
    in un file ci sono le date di tutti i giorni del relativo mese. da questa data estraggo l'anno. Questo accade per tutte le righe visto che uso un ciclo while leggi fino alla fine del file. Quello che io voglio fare è prendere solo dalla prima riga l'anno e metterlo in una variabile chiamata tipo $anno e che non deve essere più aggiornata durante il ciclo. come posso fare? Posto la parte di codice relativa per maggiore chiarezza.
    Codice PHP:
    while(!feof($p_file)) { // leggi fino alla fine del file
    $linea fgets($p_file300);
    $linea str_replace(chr(32),",",$linea);
                        
    $inizio_lin=substr($linea,0,4);
    echo 
    "inizio riga: $inizio_lin 
    "
    ;
    if (
    $inizio_lin==" DOY") {
         continue;

    $linea=substr($linea,350);
    $items preg_split('#\s+#s'$linea); //'#\s\s#s' opp '#\s+#s'
    $vett_campi=array('DOY''ora''Ndata''v_vet''v_scal'dir'....');                            
    //Correzione Data e Ora
    $day=substr($items[0],0,2);
    $month=substr($items[0],3,2);    
    $year=substr($items[0],6,2);
    $year="20".$year;
    $anno=$year;
    ..... 
    ok..spero di essere stato chiaro.
    grazie per l'aiuto.
    PeppePegasus

  2. #2
    Non ho capito. Posta un pezzo del file in ingresso, e un esempio del risultato che vuoi ottenere.

  3. #3
    Ecco un pezzo del file:
    codice:
    DOY       h     Ndata   v_vet   v_scal    dir      Tm   s_dir     su     sv     sw    TKE     sT     uv     uw     vw     uT     vT     wT     u*     T*       z/L       H0      Cu2      Cv2      Cw2      CT2        hm        qm        sh        wh        HE       H0c 
     01/06/04  00,00  6000    1.02    1.03  168.40  291.65   11.11   .247   .199   .103   .056   .155  -.008  -.005  -.001   .018  -.005  -.004   .075   .059      .531     -5.3     .013     .012     .009     .007 -9999.000 -9999.000 -9999.000 -9999.000   -9999.9      -5.3
     01/06/04  00,10  6000     .83     .86  170.21  291.64   15.76   .238   .226   .113   .060   .234   .010  -.004   .001   .014  -.004  -.005   .061   .082     1.104     -5.9     .016     .014     .010     .010 -9999.000 -9999.000 -9999.000 -9999.000   -9999.9      -5.9
     01/06/04  00,20  6000     .61     .64  139.73  291.76   18.03   .164   .182   .075   .033   .180   .009  -.001   .002   .006   .000  -.002   .046   .043     1.019     -2.3     .010     .014     .007     .007 -9999.000 -9999.000 -9999.000 -9999.000   -9999.9      -2.3
     01/06/04  00,30  6000     .67     .75
    io leggo la prima riga e dalla data estraggo anno, mese e giorno, voglio una variabile che si chiama tipo $anno e che sia uguale a 2004, dopo di che anche se legge le altre righe e quindi l'anno lo rilegge, voglio che la variabile che ho chiamato $anno non cambi valore.
    ok spero ora è più chiaro.
    PeppePegasus

  4. #4
    Puoi molto semplicemente controllare se la variabile $anno ha gia' un valore: se non ce l'ha glielo assegni, se ce l'ha non fai niente.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    22
    Originariamente inviato da k.b
    Non ho capito. Posta un pezzo del file in ingresso, e un esempio del risultato che vuoi ottenere.
    si può fare senza ciclo

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.