亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查數字是否在一組指定的數字之間?

檢查數字是否在一組指定的數字之間?

PHP
POPMUISE 2022-10-09 17:18:45
這段代碼:$url = ('example.url');function Feed($url) {  $feed = simplexml_load_file($url) or die('Cannot Connect');  $result = array();  foreach ($feed->channel->item as $content) {      array_push($result, $content);  }  return $result;}飼料.php ^^require_once 'feed.php';    $title = '123';    foreach(Feed('example.url') as $f ) {        if (strpos($f->title, $title) !== false)            echo $f->children('georss', true)->children('gml', true)->children('gml', true). "<br>";    }輸出:59.838314 6.86571759.662615 10.56911059.709940 10.690916如何檢查數字是否在我指定的數字之間?例子:59.68000和之間的經度59.850005.510000和之間的緯度8.750000它會輸出59.838314 6.865717編輯:顯示如果嘗試過:    foreach(Feed('example') as $f ) {      if (strpos($f->title, $title) !== false)        if ($f->children('georss', true)->children('gml', true)->children('gml', true) >= 59.68000 && $f->children('georss', true)->children('gml', true)->children('gml', true) <= 59.85000) {          echo $f->children('georss', true)->children('gml', true)->children('gml', true). "<br>";        }    }在這里,我只檢查經度。我想檢查兩者。任何幫助是極大的贊賞!
查看完整描述

2 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

在 PHP 中比較浮點值可能會有問題。如果這是您所要求的,您可以使用 bccomp() 來比較浮點值。


$a = '59.68000';

$b = '59.85000';

echo between($a, $b, '59.68001') . "\n"; // in range

echo between($a, $b, '59.68000') . "\n"; // exact match

echo between($a, $b, '59.88000') . "\n"; // higher than range

echo between($a, $b, '59.67000') . "\n"; // lower than range


function between($lower, $upper, $value)

{

    // Value is greater than lower bound of range

    $check1 = bccomp($value, $lower, 6) >= 0;

    // Value is less than upper bounds of range

    $check2 = bccomp($upper, $value, 6) >= 0;

    if ( $check1 && $check2 ) {

        return true;

    }

    return false;

}

使用功能:


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

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

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

        $lat = $f->lattitude_value(); // Replace me!!

        if ( between('59.68000', '59.85000', $long) && between('5.510000', '8.750000', $lat) ) {

            echo $long . ' ' . $lat . "<br>";

        }

    }

}


查看完整回答
反對 回復 2022-10-09
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

我到處玩,發現這是解決我的問題的最佳方法:


    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 > 50.00000 && $number1 < 71.00000){

            if ($number2 > 4.510000 && $number2 < 10.750000){

             echo $f->children('georss', true)->children('gml', true)->children('gml', true). "<br>";

            }

          }

        }

      }


查看完整回答
反對 回復 2022-10-09
  • 2 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號