【发布时间】:2015-12-21 13:09:11
【问题描述】:
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);
有没有更好的方法来创建这个多维数组而没有重复的地址
【问题讨论】:
-
您可以使用
PDO::*获取并返回多维数组。 -
你能编辑和添加你的表结构吗?
-
你如何使用 pdo 来做到这一点,在@EliasNicolas 之前我从未这样做过
-
看到这个php.net/manual/en/pdostatement.fetchall.php,它应该一次全部获取,使用
fetch_style标志添加PDO::FETCH_ASSOC|PDO::FETCH_GROUP并在MYSQL中使用Group by...然后你可以做foreach() -
我现在无法对其进行测试,但我会尽快回复此评论,谢谢您的想法
标签: php mysql arrays multidimensional-array pdo