while ($selected_row = $stmt - > fetch(PDO::FETCH_ASSOC)) {
    $tmp_key = $selected_row['tin']; //adding a temp key
    //$tmp_key = $selected_row['tin']; //adding a temp key
    $new_data[$tmp_key]['tin'] = $selected_row['ownertin'];
    $new_data[$tmp_key]['lastname'] = $selected_row['ownerlastname'];
    $new_data[$tmp_key]['firstname'] = $selected_row['ownerfirstname'];
    $new_data[$tmp_key]['ownershipfrom'] = $selected_row['ownershipfrom'];
    $new_data[$tmp_key]['type'] = $selected_row['ownership'];
    $new_data[$tmp_key]['middleinitial'] = $selected_row['ownermiddlename'];
    $new_data[$tmp_key]['suffix'] = $selected_row['ownersuffix'];
    $sudky = (isset($new_data[$tmp_key]['Address'])) ? count($new_data[$tmp_key]['Address']) : 0; //getting the key for student child array
    $new_data[$tmp_key]['Address'][$sudky]['contactflag'] = $selected_row['contact_flag'];
    $new_data[$tmp_key]['Address'][$sudky]['tin'] = $selected_row['ownertin'];
    $new_data[$tmp_key]['Address'][$sudky]['mobile'] = $selected_row['mobile'];
    $new_data[$tmp_key]['Address'][$sudky]['landline'] = $selected_row['landline'];
    $new_data[$tmp_key]['Address'][$sudky]['email'] = $selected_row['email'];
    $new_data[$tmp_key]['Address'][$sudky]['province'] = $selected_row['addressprovince'];
    $new_data[$tmp_key]['Address'][$sudky]['municipality'] = $selected_row['addressmunicipality'];
    $new_data[$tmp_key]['Address'][$sudky]['barangay'] = $selected_row['addressbarangay'];
    $new_data[$tmp_key]['Address'][$sudky]['street'] = $selected_row['addressstreet'];
    $new_data[$tmp_key]['Address'][$sudky]['zipcode'] = $selected_row['addresszipcode'];
}
$new_data = array_values($new_data);
$input = array_map("unserialize", array_unique(array_map("serialize", $new_data)));
//print_r($new_data);
echo json_encode($new_data, JSON_UNESCAPED_UNICODE);
Is there a better way to create this multidimensional array without having the duplicate address
PDO::*to fetch and return in a multidimensional array.fetch_styleflag to addPDO::FETCH_ASSOC|PDO::FETCH_GROUPand in MYSQL useGroup by... Then you can doforeach()