JSON数组到表排除列


JSON array to table exclude columns

我编写了一个简单的函数,它获取我的一个数据库表并输出一个完整的JSON数组。

function tableJSON ($table, $orderby) {
    $array = array();
    $sql = Nemesis::select("*", $table, NULL, $orderby);
    if ($sql) {
        if ($sql->num_rows > 0) {
            while ($row = $sql->fetch_assoc()) {
                // push row values to array
                array_push($array, $row);
            }
            return json_encode($array);
        } else {
            echo 'Query returned empty';
        }
    } else {
        echo 'Query error';
    }
}

使用此处概述的方法从该数组生成一个表。然后我把桌子分类器应用到桌子上。我的问题是,目前,这个脚本输出所有的行和列。示例:

[{"id":"109225488","project_name":"One on One Interview the Dean of RSM","project_bold":"Interview","project_content":"Interview with the Dean of Erasmus University Rotterdam School of Management. Interviewer: Joost Kammermans.","project_image_1":"'/images'/uploads'/projects'/109225488'/m_109225488_1.jpg","project_image_2":"","project_image_3":"","project_image_4":"","youtube_link":"http:'/'/www.youtube.com'/watch?v=9rsR3FcLAxI","published":"1","created":"2013-05-29 14:07:49","created_by":"1","last_modified":"2013-07-22 19:43:15","last_modified_by":"1"}

如何将此脚本从输出已排除列的数组中排除?

例如:

$excluded = array('created_by', 'project_image_1');

我试过array_diff,但没有成功。

$sql = Nemesis::select("*", $table, NULL, $orderby);

*更改为只包含您想要输出的列的列表,您就不必担心后端的数组会出现问题。

我建议DevIshOne的答案,但是。。。

function tableJSON ($table, $orderby, $excluded = array()) {
    $array = array();
    $sql = Nemesis::select("*", $table, NULL, $orderby);
    if ($sql) {
        if ($sql->num_rows > 0) {
            while ($row = $sql->fetch_assoc()) {
                $newrow = array();
                foreach($row as $col => $val)
                    if(!in_array($col, $excluded))
                        $newrow[$col] = $val;
                // push row values to array
                array_push($array, $newrow);
            }
            return json_encode($array);
        } else {
            echo 'Query returned empty';
        }
    } else {
        echo 'Query error';
    }
}