Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    problema con i dati dopo 'explode'

    Problema:
    ricevo via POST una data, in formato italiano: 25-10-2014
    Codice PHP:
    $fine $_POST["end"]; 
    Per averla in formato internazionale, faccio un explode e poi riassemblo:
    Codice PHP:
    $fine explode("-",$fine);
    $fine $fine[2] . "-" $fine[1] . "-" $fine[0]; 
    fin qui, tutto ok.
    A me però serve di incrementare il valore del mese, estendendolo di 1 (se è 03 diventa 04, e così via...). Per fare questo, ho provato ad assegnare i tre valori ad altrettante variabili, così:
    Codice PHP:
    $anno $fine[2];
    $mese $fine[1];
    $giorno $fine[0]; 
    per poi andare a modificare i valori del mese (ed eventualmente dell'anno).
    Però i valori che mi assegna sono, nell'ordine 1 0 2!
    La cosa che proprio non capisco è che se faccio un echo subito dopo la stringa
    Codice PHP:
    $fine $fine[2] . "-" $fine[1] . "-" $fine[0]; 
    mi scrive correttamente 25-10-2014, ma se immediatamente dopo definisco le tre variabili ($anno, $mese, $giorno) e ne faccio subito un echo, mi dà come risultato quell'​1 0 2!...
    Perchè #*§x$/+* fa così?
    E comunque, anche a prescindere, come posso ottenere il risultato che mi serve, ovvero:
    da
    Codice PHP:
    $fine $_POST["end"]; 
    (dove $fine sarà uguale a 25-10-2014) arrivare a
    Codice PHP:
    $nuovafine "25-11-2014"
    ?
    Plz, help me!...
    metatad
    graphic & web design

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    $fine è una stringa...
    comunque se usi le funzioni per le date fai prima...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Scusa, in che senso "$fine è una stringa..."?
    E come posso usare le funzioni per le date, nel caso specifico e per ciò che mi occorre?
    metatad
    graphic & web design

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Tu fai questo nel tuo codice
    - ricevi da post una stringa e la metti nella variabile $fine;
    - trasformi $fine in un array usando explode;
    - trasformi nuovamente $fine in una stringa "ricomponendo" la data secondo il formato che desideri;
    - quando definisci $anno, $mese e $giorno prendi le singole lettere della stringa.

    Dai una ripassatina ai tipi di valori in PHP

    Per il tuo problema, puoi fare una cosa di questo tipo
    Codice PHP:
    $date "2014-10-25";$date_new = new DateTime($date);$date_new -> add(new DateInterval("P1M"));$data $date_new -> format("d-m-Y");echo "$data\n"
    qui il manuale http://php.net/manual/en/book.datetime.php (leggi bene cosa dice in questa pagina http://php.net/manual/en/datetime.add.php per quanto riguarda l'aggiunta di un mese)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Grazie, poi avevo comunque risolto utilizzando la funzione date...
    metatad
    graphic & web design

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.