PHP注意:未定义的偏移量:1,带有日期字段字符串

PHP注意:未定义的偏移量:1,带有日期字段字符串,php,Php,我有这个问题: 注意:未定义的偏移量:每行$news_date[1]中有1个偏移量 这是我的代码: $news_date=explode("-",$press_date); if($news_date[1]==1){ $news_date[1]='JAN'; }else if($news_date[1]==2){ $news_date[1]='FEB'; } //and so on.. $press_date=$news_date[1].', '.$new

我有这个问题:

注意:未定义的偏移量:每行$news_date[1]中有1个偏移量

这是我的代码:

$news_date=explode("-",$press_date);
    if($news_date[1]==1){
    $news_date[1]='JAN';
    }else if($news_date[1]==2){
    $news_date[1]='FEB';
    } //and so on..
$press_date=$news_date[1].', '.$news_date[0];
我用news\u date字段存储了日期数据

请建议我该怎么做

事先非常感谢

***可编辑**** 在通过堆栈询问之后,现在我已经使用这些代码来解决我的问题。 它只使用了3行代码。谢谢阿德里安·普劳斯的建议

    $press_date=$rs['news_date']; // store data from DB
    $new_formatDate=date("M d, Y",strtotime($press_date));  // Set Date Month Year styles that I want
    $new_formatDate = strtoupper($new_formatDate);  // Make it to ALL CAP
您不想使用日期格式-您的问题是,您只需使用explode分割日期-这种方式不正确,因为分割的数据具有以下格式:

[0] "2014"
[1] "07"
[2] "21"
在拆分后检查拆分的字符串,每个条目也是一个字符串,并带有整数:

if("07" == 1) {
第二个问题是,如果设置了数据,则不进行验证。下一个问题是:您只想显示另一种日期格式-请使用基于PHP的函数进行格式化。以下是一个示例:

<?php
$press_date = '2014-07-21';

print date('d. M Y', strtotime($press_date));
产出:21。2014年7月

产出:2001年12月21日星期一。2014年7月


有关输出格式的信息,请访问。

非常感谢您这意味着什么?请提供来自$press_date的样本数据,并使用isset$news_date[1]为样本验证数组条目@这是一个样本数据:2014-07-21这意味着$news_date[1]中没有数据。这可能是由于$press_date为空或$press_date有一个字符串没有“-”,就像$press_date'10'没有任何“-”。如果你的答案解决了你的问题,请考虑接受答案。下面是如何返回此处并对勾号/复选标记执行相同操作,直到其变为绿色。这将通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,并可能希望发布更多答案。您将获得积分,并鼓励其他人帮助您。欢迎来到Stack!非常感谢阿德里安!这是我的错。现在我使用DateTime来显示数据。不管怎样,你的建议对我帮助太多了。很抱歉,无法单击您的评论以获取有用信息。
<?php
$press_date = '2014-07-21';

print date('l, d. F Y', strtotime($press_date));