1

我有一个代码,它正在获取数据,但是当它什么也没得到时,我希望它返回一些东西。

    $upcoming = simplexml_load_file('http://api.website.com'); 

foreach($upcoming->trailer as $x => $updates) {         
$content.= '<center><br><span> ' . $updates->embed . '</span></center>';
}

这是代码。它正在获取数据,但当它一无所获时,我希望它说 NO 视频。

我怎样才能做到这一点?我尝试了 strlen() 但我无法应用它。

我尝试了 strpos 但它也没有工作。

4

3 回答 3

1

您可以简单地检查 simplexml_load_file 的结果并采取相应措施

if (false === $upcoming) {
    echo "No Videos";
} else {
    //your foreach loop here
}
于 2013-04-03T21:38:50.147 回答
0

在你的 foreach 中添加一些标志来放置一个标志,如果有任何东西已经打印出来,或者只是检查 $upcoming。然后只需检查标志并回显“无视频”您的消息。

像这样做:

$Something=false;
$upcoming = simplexml_load_file('http://api.website.com'); 

foreach($upcoming->trailer as $x => $updates) {
  if($updates->embed){
    $Something=true;
  }         
  $content.= '<center><br><span> ' . $updates->embed . '</span></center>';
}

if(!$Something){
  echo "<center>No videos</center>";
}

或者:

$upcoming = simplexml_load_file('http://api.website.com');

if(!$upcoming){
  echo "<center>No videos</center>";
}
else{
  foreach($upcoming->trailer as $x => $updates) {
    if($updates->embed){
      $Soemthing=true;
    }         
    $content.= '<center><br><span> ' . $updates->embed . '</span></center>';
  }
}
于 2013-04-03T21:41:21.180 回答
0
$upcoming = simplexml_load_file('http://api.website.com'); 
if($upcoming == null || $upcoming == false){
    $content = "No videos";
}
else{
    foreach($upcoming->trailer as $x => $updates) {         
    $content.= '<center><br><span> ' . $updates->embed . '</span></center>';
    }
}
于 2013-04-03T21:43:28.730 回答