我使用以下代码生成json,但我需要能够只选择某些列的输出,我认为这将工作,但它仍然输出所有列。我不能改变主函数,这就是为什么我认为if语句会在这里工作?
public function generate_json($table_data) {
$results = array();
$results = $table_data;
if ($table_data)
{
foreach($table_data as $key => $row)
{
if( $results[$key]['images']='url')
$results[$key]['images'] = $this->exporter->get_property_gallery_data($row['id']);
}
}
return json_encode($results);
你可以试试这个。我敢肯定它会成功与否
public function generate_json($table_data) {
$results = array();
if ($table_data)
{
foreach($table_data as $key => $row)
{
foreach($row as $key1=>$val1){
if($key1=="url"){
$results[$key]['images'] = $this->exporter->get_property_gallery_data($row['id']);
}
}
}
return json_encode($results);
实际上我自己用下面的
解决了这个问题public function generate_json($table_data) {
$results = array();
$results = $table_data;
if ($table_data)
{
foreach($table_data as $key => $row)
{
$images = $this->exporter->get_property_gallery_data($row['id']);
foreach($images as $imgkey => $val)
{
$results[$key]['images'][$imgkey] = array('id' => $val['item_id'],'url' => $val['url'], 'description' => $val['description'], 'title' => $val['title']);
}
// $results[$key]['images'] = $this->exporter->get_property_gallery_data($row['id']);
}
}
return json_encode($results);
}