这是因为您没有向数组中添加元素。您正在覆盖它们:
$modified_result = array();
foreach($queryresult as $result){
$modified_result[\'name\'] = $result->name;
$modified_result[\'address\'] = $result->address;
}
您的循环正在设置
name
和
address
的属性
$modified_result
直接数组,然后为循环中的每个项替换它们。
你想要的$modified_result
是数组的数组,这意味着$result
您需要将新数组添加到$modified_result
. 你可以用$modified_result[]
:
$modified_result = array();
foreach ( $queryresult as $result ) {
$modified_result[] = array(
\'name\' => $result->name,
\'address\' => $result->address,
);
}
尽管如此,我从您的代码中看不出任何原因,为什么您不能只查询要开始的字段。那么您根本不需要循环:
$queryresult = $wpdb->get_results( "SELECT name, address FROM ..." );
$datadump = json_encode( $queryresult );
echo file_put_contents( \'my_output.json\', $datadump );