나는 MySQL 데이터베이스 호출로부터 다차원 배열을 가지고있다.다차원 배열에서 중복 값 찾기
array(2) {
[0]=> array(4) {
["STATE"]=> "1"
["COUNTY"]=> "101"
["NEIGHBORHOOD"]=> "111111"
}
[1]=> array(4) {
["STATE"]=> "2"
["COUNTY"]=> "201"
["NEIGHBORHOOD"]=> "222222"
}
[2]=> array(4) {
["STATE"]=> "1"
["COUNTY"]=> "201"
["NEIGHBORHOOD"]=> "111111"
}
}
배열에 나타나는 모든 상태의 모든 카운티에 대해 인접 지역 값을 가져올 수 있어야합니다. 데이터 구조는 이웃 번호가 카운티에 고유 한 것으로 국가 고유의 것입니다.
각 주마다 각 카운티의 배열을 만들려고 생각하고 있지만 주와 카운티가 동일 할 때 모든 이웃 값을 찾는 방법을 모르겠습니다.
의견에 따라 DB에 주, 카운티, 이웃, LATITUDE, LONGITUDE에 대한 정보가 있습니다. 다음 SQL 문을 사용하여 사용자가 입력 한 위치의 반경 내에서 모든 중개자를 가져옵니다.
"SELECT `STATE` , `COUNTY` , `NEIGHBORHOOD`,((ACOS(SIN($lat* PI()/180) * SIN(`LATITUDE` * PI()/180) +
COS($lat* PI()/180) * COS(`LATITUDE` * PI()/180) * COS(($long- `LONGITUDE`) *
PI()/180)) * 180/PI()) * 60 * 1.1515) AS distance
FROM `censustracts`
HAVING distance<='$radius';"
이 지역은 다른 주와 카운티에있을 수 있고, 나는 이것을 알 방법이 없습니다.
나는 당신이 당신의 쿼리를 최적화하기를 원한다고 생각한다. 그래서 당신은 정말로 원하는 결과만을 얻는다. 결과 집합은 더 작아지고 PHP에서는 처리량이 줄어 듭니다. 도움이 필요하면 질문에 질문을 추가하십시오. – arnoudhgz
여기 예제에 포함되지 않은 것은 좌표 데이터를 기반으로한다는 것입니다. 그래서 나는 주어진 점의 x 마일 반경 내에서 모든 것을 끌고있다. 따라서 내 중심점이 국경에있는 경우 여러 카운티 또는 주에서 가져올 수 있습니다. 나는 말할 길이 없다. – micahmills
쿼리에 대한 정보와 데이터 구조가 모델화 된 방법 및 데이터베이스에서 실행이 제거되는 방법에 대한 정보를 포함하도록 질문을 편집해야합니다. – Whisperity