0

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
                );

しかし、ループを試してみると

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

エラーが発生します

Parse error: syntax error, unexpected T_DOUBLE_ARROW

これを修正する方法を知っている人はいますか?

ありがとう

4

2 に答える 2

5

試す

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

連想させてから

$myJSON = json_encode($data);

JSONを取得する

于 2013-07-24T01:24:43.717 に答える
2

の 2 番目の引数として配列を指定する必要がありますarray_push。絶対に使わないarray_pushでください。代わりにこのようなことを試してください

$data["location{$i}"] = mysql_result($recordset, $i, 'location')));
于 2013-07-24T01:21:30.470 に答える