2012-06-25 2 views
1

Я начал изучать PHP и должны найти ошибку (возможно, в этом коде):функция PHP StrToTime (2)

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

Новая дата должна быть сохранена в массиве «$ newvalues», но когда я нажимаю кнопку сохранения, это ничего не спасает. Только если текстовое поле «год» пуст, другие элементы могут быть сохранены.

Может ли кто-нибудь помочь мне, пожалуйста? Спасибо.

+0

Вы пытались добавить к нему код отладки, чтобы вы могли видеть все значения, с которыми работает ваш код, и что запускается правильная часть оператора 'if'? – andrewsi

+0

Ваш код отлично подходит для меня. –

ответ

2

Вы в основном делают:

100 * 80/80 

Просто сохраните его как

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

или еще лучше, представить его как DateTime объекта:

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

Использование объекта DateTime (И семейство DateTime) дает вам намного лучший и гибкий контроль над вашей датой/временем.