如何在PHP中为JSON推送数组中的值?

sne*_*aky 0 php json

在php中,我正在将一个数组转换为JSON字符串.

如果我对它们进行硬编码,这是有效的:

                $data = array(
                    'firstname' => mysql_result($recordset, 0, 'first name'),
                    'lastname' => mysql_result($recordset, 0, 'last name'),
                    'email' => mysql_result($recordset, 0, 'email address'),
                    'password' => mysql_result($recordset, 0, 'password'),
                    'phone' => mysql_result($recordset, 0, 'mobile number'),
                    'website' => mysql_result($recordset, 0, 'website link'),
                    'type' => mysql_result($recordset, 0, 'type_id'),
                    'active' => mysql_result($recordset, 0, 'active'),
                    'datejoined' => mysql_result($recordset, 0, 'date joined'),
                    'dateleft' => mysql_result($recordset, 0, 'date left'),
                    'datelastactive' => mysql_result($recordset, 0, 'date last active'),
                    'status' => mysql_result($recordset, 0, 'status'),
                    'biotext' => mysql_result($recordset, 0, 'bio text'),
                    'picURL' => $picURL
                );
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试循环

            $data = array();
            for ($i = 0; $i < $num_records; $i++) {
                array_push($data, "location{$i}" => mysql_result($recordset, $i, 'location'));
            }
Run Code Online (Sandbox Code Playgroud)

我收到了错误

Parse error: syntax error, unexpected T_DOUBLE_ARROW
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这一问题?

谢谢

vla*_*ras 5

尝试

    $data = array();
    for ($i = 0; $i < $num_records; $i++) {
       $data["location{$i}"] = mysql_result($recordset, $i, 'location');
    }
Run Code Online (Sandbox Code Playgroud)

使它成为关联的,然后

$myJSON = json_encode($data);
Run Code Online (Sandbox Code Playgroud)

获得JSON