我有一些我无法理解的问题。
我使用以下代码收到错误Undefined offset
:
$date = $this->date;
$dateArr = explode('-', $date);
$newDate = $dateArr[2] . '.' . $dateArr[1] . '.' . $dateArr[0];
$this->date
是一个类似"2013-11-10"
var_dump($dateArr)
说,数组中有这些值,与调试器相同。
我不明白为什么我会收到这个错误。这只是一个“通知”,但它让我很生气。
有趣的是,日期仍保存到数据库中,这是正确的(如$newDate
正确构建)。
- 编辑
通过这样做,我想将日期从yyyy-mm-dd转换为dd-mm-yyyy,然后将其转换为unix时间戳。
答案 0 :(得分:0)
假设实际设置了$this->date
,则无需多次操作,只需使用strtotime()获取时间戳,然后date()进行格式化。
// To change formatting to 10.11.2013
$newDate = date("d.m.Y", strtotime($this->date));
// To turn date into unix timestamp 1384038000
$newDate = strtotime($this->date);
答案 1 :(得分:0)
如果你想得到" 10.11.2013"结果 - 你得到它(你的代码工作正常),但只有在$this->date
设置的情况下才真正像"2013-11-10"
这样的字符串(我确定它不是)。在所有其他情况下,当explode
失败并返回不同的结果(没有3个元素的数组)时,您将获得偏移。