php 카운트다운 출현-0 상황 해결 방법

1757 단어 php카운트다운
본 고의 실례 는 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('start-now'=>$b), array('float_day'=>$c), array('int_day'=>$d), array('off'=>$off));
if (-0 < 0) {
  echo '-0 < 0';
} else {
  echo '-0 > 0';
}

출력:

array
 'start-now' => int -33321
array
 'float_day' => float -0.385659722222
array
 'int_day' => float -0
array
 'off' => 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);
}

PS:본 사 이 트 는 유 닉 스 타임 스탬프 변환 도 구 를 제공 하여 매우 실 용적 입 니 다.참고 하 시기 바 랍 니 다.
유 닉 스 타임 스탬프(timestamp)변환 도구:
http://tools.jb51.net/code/unixtime
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기