$v){$total = $k; break;} break; case 'range': sort($array); $sml = $array[0]; rsort($array); $lrg = $array[0]; $total = $lrg - $sml; break; } return $total; } } $collected['Bedminster Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Bensalem Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Bridgeton Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Bristol Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Bristol Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Buckingham Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Chalfont Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Doylestown Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Doylestown Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Dublin Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Durham Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['East Rockhill Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Falls Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Haycock Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Hilltown Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Hulmeville Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Ivyland Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Langhorne Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Langhorne Manor Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Lower Makefield Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Lower Southampton Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Middletown Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Milford Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Morrisville Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['New Britain Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['New Britain Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['New Hope Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Newtown Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Newtown Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Nockamixon Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Northampton Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Penndel Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Perkasie Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Plumstead Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Quakertown Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Richland Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Richlandtown Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Riegelsville Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Sellersville Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Silverdale Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Solebury Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Springfield Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Telford Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Tinicum Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Trumbauersville Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Tullytown Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Upper Makefield Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Upper Southampton Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Warminster Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Warrington Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Warwick Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['West Rockhill Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Wrightstown Twp'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; $collected['Yardley Boro'] = ['muni' => "", 'thecount' => 0, 'prices' => "",'medianprice' > 0, 'doms' => "", 'dom' => 0]; ini_set("auto_detect_line_endings", true); $fp = fopen('/Library/WebServer/csv/bucks-pa-jan-oct-2024.csv','r'); while(($entry = fgetcsv($fp,8192,',')) !== FALSE) { // if(($entry[33] < "2024-06-01") || ($entry[33] > "2024-07-31")) {continue;} $ma = explode(" - ", $entry[2]); $entry[0] = $ma[0]; // parse MLS Area Full Name //if($entry[NEWCON] == "Yes") { // (continue; //} // $entry[MUNI] = preg_replace('~ \([0-9][0-9][0-9][0-9][0-9]\)~','',$entry[MUNI]); // (int) $price = str_replace(",","",str_replace("$","",$entry[PRICE])); if(array_key_exists($entry[0],$collected)) { $collected[$entry[0]]['thecount'] += 1; $collected[$entry[0]]['prices'] .= ($entry[8] . ","); $collected[$entry[0]]['dom'] .= ($entry[18] . ","); if($price < $collected[$entry[0]]['low']) { $collected[$entry[0]]['low'] = $price; } if($price > $collected[$entry[0]]['high']) { $collected[$entry[0]]['high'] = $price; } } } // $status = array_column($collected,0); // array_multisort($collected,SORT_DESC,$status,$collected[]); ?> Single Family Resales Summary, Montgomery County, PA (Jan thru July 2024)

Blog Home   Contact

Bucks County Pennsylvania
Existing Single Family Homes Sold
January through October 2024

The John McClintock Team
MunicipalityMedian ‡
Sold Price# Homes
SoldMedian Days
on Market"); foreach($collected as $key => $content) { $price_array = explode(",",$content['prices']); $dom_array = explode(",",$content['dom']); sort($price_array, SORT_NUMERIC); sort($dom_array, SORT_NUMERIC); unset($price_array[0]); unset($dom_array[0]); // $average = ceil( array_sum($price_array) / count($price_array) ); // $avg = mmmr($price_array, 'mean'); $median = mmmr($price_array, 'median'); $collected[$key]['medianprice'] = $median; $dom = mmmr($dom_array, 'median'); $collected[$key]['dom'] = $dom; $mode = mmmr($price_array, 'mode'); $low = $price_array[1]; $high = $price_array[count($price_array)]; $howmany = count($price_array); $collectd[$key]['thecount'] = $howmany; // Make Key into key-link //$link = $key; //$link = "" . $key . ""; $link = $key; } foreach($collected as $key => $val) { $medianprice[$key] = $val['medianprice']; // $dom[$key] = $val['dom']; $thecount[$key] = $val['thecount']; } array_multisort($medianprice, SORT_DESC, $collected); foreach($collected as $key => $val) { echo(" " . $key . ""); echo("" . number_format(round($collected[$key]['medianprice'],-3)) . ""); echo("" . number_format($collected[$key]['thecount'],-3) . ""); echo("" . number_format($collected[$key]['dom']) . ""); } echo(""); ?>

‡ Prices 1/1/2024 thru 10/31/2024, Bright MLS Settled Sales (rounded to the nearest $1,000).

 


john mcclintock team, realtors