我在PHP中使用Array to JSON结构的问题将在Javascript中使用

dot*_*uad 0 javascript php arrays json


我一直在努力使用Array到JSON格式.我正在使用TexoTela的selectbox插件.该插件需要json结构:

{
    "ajax1": "AJAX option 1",
    "ajax2": "AJAX option 2",
    "ajax3": "AJAX option 3"
}  
Run Code Online (Sandbox Code Playgroud)

我的PHP代码:

    function get_selectfield_list($col, $table)
    {
        $location_list = array();

        //create an sql string and set it to the $sql variable
        $sql = "SELECT id, $col FROM $table";

        //form the sql query and set it to the $query variable
        $query = $this->db->query($sql);

        //loop through the result_array and set the results to the $location_list array
        foreach ($query->result_array() as $row)
        {
            $value = $row['id']; //set the database table id to to $value variable
            $text = $row[$col]; //set the the $string value to the $text variable
            $location_list = array($value => $text); //form the $location_list array with the the $value and $text values
        }

        echo json_encode($location_list); //convert the $location_list array into a json object and return it.                              
    }  
Run Code Online (Sandbox Code Playgroud)

我的PHP代码返回 {"4":"chickenpen 4"}

代替 {"4":"chickenpen 4","5":"chickenpen 5", etc....}

我认为这是由于代码:$ location_list = array($ value => $ text); 每次foreach循环时,它都会创建一个新数组.如何格式化数组以输出foreach中的所有结果而不是最后的结果?

-丰富

Ign*_*ams 5

    $location_list[$value] = $text;
Run Code Online (Sandbox Code Playgroud)