为了账号安全,请及时绑定邮箱和手机立即绑定

如果输出为空,请执行其他操作?

如果输出为空,请执行其他操作?

PHP
慕码人8056858 2022-10-09 17:21:40
此代码从道路输出信息。但有时没有信息,然后我想从另一个地方收集信息。我怎样才能做到这一点?$title = '1234';foreach(Feed('$url') as $f ) {  if (strpos($f->title, $title) !== false){    $pos = $f->children('georss', true)->children('gml', true)->children('gml', true);    list($number1, $number2) = explode(' ', $pos);      if ($number1 > 0 && $number1 < 100){        if ($number2 > 1 && $number2 < 10){         echo $f->description. "<br>";          }        }      }    }如果这个^^没有结果,我该怎么做,然后这样做:    foreach(Feed('$url') as $f ) {      if (strpos($f->title, $title) !== false){             echo $f->description. "<br>";              }            }我知道我可以使用 Len($variable) = 0 检查变量是否为空。但我没有变量。我怎么能得到这个?然后我想我可以这样做:if (Len($variable) = 0) {  foreach(Feed('$url') as $g ) {    if (strpos($g->title, $title) !== false){           echo $g->description. "<br>";            }          }        } 我想里面有可能foreach吗if?任何帮助是极大的赞赏!
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

您可以使用布尔变量来指示您是否以第一种方式找到了描述,如果没有,则以第二种方式找到它:


$descriptionFound = false;


foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=601') as $f) {

  if (strpos($f->title, $title) !== false){

    $pos = $f->children('georss', true)->children('gml', true)->children('gml', true);

    list($number1, $number2) = explode(' ', $pos);


    if (

      $number1 > 59.417104 && $number1 < 60.089568

      && $number2 > 5.115812 && $number2 < 7.811784

    ) {

      $descriptionFound = true;

      echo $f->description . "<br>";

    }

  }

}


if (!$descriptionFound) {

  foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f) {

    if (strpos($f->title, $title) !== false){

      echo $f->description . "<br>";

    }

  }

}

同样,您可以在检查各种方法时存储描述,然后在最后输出值:


$description = '';


foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=601') as $f) {

  if (strpos($f->title, $title) !== false){

    $pos = $f->children('georss', true)->children('gml', true)->children('gml', true);

    list($number1, $number2) = explode(' ', $pos);


    if (

      $number1 > 59.417104 && $number1 < 60.089568

      && $number2 > 5.115812 && $number2 < 7.811784

    ) {

      $description .= $f->description . "<br>";

    }

  }

}


if (!$description) { //this will be falsy if it's an empty string, so no need to do == ''

  foreach(Feed('https://www.vegvesen.no/trafikk/xml/savedsearch.rss?id=604') as $f) {

    if (strpos($f->title, $title) !== false){

      $description .= $f->description . "<br>";

    }

  }

}


echo $description;

要么会给你相同的代码流和最终结果。


查看完整回答
反对 回复 2022-10-09
  • 1 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信