检查posts数组是否有匹配变量的帖子

时间:2013-07-10 10:51:38

标签: php

我正在使用Kirby CMS

我正在尝试获取我的最新帖子,但前提是我的最新帖子与我的$ latest变量匹配。

$today = new DateTime("now"); //Declare today
$startdate = new DateTime("2013-06-30"); //Declare startdate
$interval = $startdate->diff($today); //Find the difference between startdate & today
$latest = $interval->format('%a'); //Declare $latest variable to be that interval, formatted as integer

$posts = $pages->find('posts')->children(); //Declare posts

$latestpost = $posts->find($latest); //Find post which matches the $latest variable

我试图访问$latestpost->url();,但前提是$latestpost实际存在。当它不在时,它就会成为一个非对象。

由于我获得$latestpost的方式,issetdefined无效。

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

根据$posts->find(..);返回的内容(查看kirby的来源,它将是nullfalse),您可以使用多种不同的检查。

您最好的选择是使用empty,因为它会捕获大多数情况,它的效率会略低于特定支票。

if (!empty($lastestpost)) {
    $url = $latestpost->url();
}