2012-06-25 4 views
1

j'ai commencé à apprendre le PHP et doivent trouver une erreur (peut-être dans ce code):php fonction strtotime (2)

if($newvalues["year"] != null) 
    $newvalues["year"] = date("Y-m-d", strtotime($newvalues["year"]."-01-01")); 

La nouvelle date doit être enregistré dans le tableau « $ NewValues ​​», mais lorsque j'appuie sur le bouton de sauvegarde, cela ne sauvegarde rien. Seulement si le champ "année" est vide, les autres éléments peuvent être sauvegardés.

Quelqu'un peut-il m'aider, s'il vous plaît? Merci.

+0

Avez-vous essayé d'ajouter du code de débogage à cela, afin que vous puissiez voir toutes les valeurs avec lesquelles votre code fonctionne, et que la partie droite de l'instruction 'if' est déclenchée? – andrewsi

+0

Votre code fonctionne bien pour moi. –

Répondre

2

Vous faites essentiellement:

100 * 80/80 

Il suffit de l'enregistrer comme

if($newvalues["year"] != null) 
    $newvalues["year"] .= "-01-01"; 

Ou mieux encore, représenter comme un objet DateTime:

$newvalues = array("year" => 2012); 
if ($newvalues["year"] != null) { 
    $newvalues["year"] = new DateTime("{$newvalues["year"]}-01-01"); 
} 
var_dump($newvalues["year"]); 

l'aide d'un objet DateTime (Et la famille DateTime) vous donne un contrôle beaucoup mieux et plus flexible sur votre date/heure.