ホームページ  >  記事  >  バックエンド開発  >  PHPのカウントダウンで-0が表示される問題を解決する方法

PHPのカウントダウンで-0が表示される問題を解決する方法

墨辰丷
墨辰丷オリジナル
2018-06-01 16:14:231586ブラウズ

この記事では、PHP カウントダウン プログラムが表示される場合に -0 が表示される問題を解決する方法を主に紹介します。この例では、PHP カウントダウン プログラムが -0 と表示される理由と、それに対応する解決策を説明します。それ

詳細は以下の通りです:

質問:今日、カウントダウンが-0日を示しているというフィードバックがありました、そして、クソ、当時はテストしていませんでした

その理由は。 PHP の論理判定では -0 > 0

分析: 間違ったコードを投稿

$starttime   = 1362585600; //3.7凌晨
$nowtime   = 1362618921;//3.7早上
$off = ceil(($starttime - $nowtime)/86400); //倒计时
if ($off < 0) {
  $off = 0;
}
$b = $starttime - $nowtime;
$c = $b/86400;
$d = ceil($c);
var_dump(array(&#39;start-now&#39;=>$b), array(&#39;float_day&#39;=>$c), array(&#39;int_day&#39;=>$d), array(&#39;off&#39;=>$off));
if (-0 < 0) {
  echo &#39;-0 < 0&#39;;
} else {
  echo &#39;-0 > 0&#39;;
}

出力:

array
 &#39;start-now&#39; => int -33321
array
 &#39;float_day&#39; => float -0.385659722222
array
 &#39;int_day&#39; => float -0
array
 &#39;off&#39; => float -0
-0 > 0

処理:

開始時刻そして現在時刻同じ日の場合、上記の計算処理は -0 > 0 であるため、off = -0 という状況が発生します

改善:

$starttime   = 1362585600; //3.7凌晨
$nowtime   = 1362618921;//3.7早上
if (($starttime - $nowtime) < 0) {
  $off = 0;
} else {
  $off = ceil(($starttime - $nowtime)/86400);
}

概要: 上記が全体の内容ですこの記事が皆さんの学習に役立つことを願っています。関連する推奨事項:PHP

Phpphpのconstキーワードのfinalキーワードの使用の詳細な説明php

phpdetailの使用の使用の説明の説明キーワード


以上がPHPのカウントダウンで-0が表示される問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。