Função para calcular anos bissextos em PHP

Veja como verificar se o ano é ou não um ano bissexto.

Utilizando uma simples função você consegue identificar se o ano é ou não um ano bissexto:

boolean y_bis(); // ano atual
boolean y_bis(string $year);
boolean y_bis(int $year);

function y_bis($year = null) {
	if (is_null($year)) {
		$year = date("Y");
	}
	
	return !($year % 4) || !($year % 400) & ($year % 100);
}

Exemplo:

if (y_bis(2012)) {
	echo "É ano bissexto";
} else {
	echo "Não é ano bissexto";
}

Calcular distância entre dois ponto GPS (latitude e longitude) em PHP

Esta é uma função muito interessante que retorna a distancia em metros, de dois pontos (com latitude e longitude).

Esta é uma função muito interessante que retorna a distancia em metros, de dois pontos (com latitude e longitude).

Se você não tem e não sabe como conseguir a latitude e longitude de um endereço, uma maneira é utilizando a API do Google Maps, eu criei um post especial para este assunto:

http://ainternetenossa.wordpress.com/2009/10/20/como-buscar-informacoes-detalhadas-de-um-endereco-como-a-latitude-e-longitude-com-a-api-do-google-maps/

Segue a função para o cálculo de distância:

function distanciaPontosGPS($p1LA, $p1LO, $p2LA, $p2LO) {
    $r = 6371.0;
       
    $p1LA = $p1LA * pi() / 180.0;
    $p1LO = $p1LO * pi() / 180.0;
    $p2LA = $p2LA * pi() / 180.0;
    $p2LO = $p2LO * pi() / 180.0;
       
    $dLat = $p2LA – $p1LA;
    $dLong = $p2LO – $p1LO;
       
    $a = sin($dLat / 2) * sin($dLat / 2) + cos($p1LA) * cos($p2LA) * sin($dLong / 2) * sin($dLong / 2);
    $c = 2 * atan2(sqrt($a), sqrt(1 – $a));
       
    return round($r * $c * 1000); // resultado em metros.
}

 

Para usar:

echo distanciaPontosGPS(-26.91545, -49.063632, -26.917985, -49.061143);