0

私はphpに配列を持っています、print_rそれはこのように見えます

Array ( 
    [0] => Array ( [0] => 2 [1] => 3 [2] => 3 [3] => 1 [4] => 1 [5] => 4 [6] => 1 ) 
    [1] => Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 1 [4] => 1 [5] => 1 [6] => 1 ) 
) 

私がやるjson_encode($mydata)とこんな感じになります

[["2","3","3","1","1","4","1"],["1","2","2","1","1","1","1"]]

ただし、次の処理には次のようなデータセットが必要なため、引用符なしでこれが必要です。

var dataset = [ 5, 10, 15, 20, 25 ];

データセットはjson標準を使用することを意図したものではなく、配列を正しくフォーマットする必要があります。

したがって、質問は「jsonから引用符を削除するにはどうすればよいですか」ということです。これは単に非標準の無効なjsonであり、必要な応答が得られません。

また

「このphp配列をデータセットのようにフォーマットするにはどうすればよいですか」。

これには、phpの別の種類の印刷関数が含まれるか、javascriptのforloop正規表現が含まれます。

4

5 に答える 5

4

JSON_NUMERIC_CHECKフラグを使用する必要があります。これにより、すべての数値文字列が強制的に数値に変換されます。

そのようです:

json_encode($array,JSON_NUMERIC_CHECK);

このフラグはPHPバージョン5.3.3からのみ使用可能であることに注意してください

于 2013-01-02T21:04:03.443 に答える
2

ええと、あなたはこれを試すことができます:

$d = array();
foreach($myData as $data) {
    $d[] = "[" . implode(",", $data) . "]";
}
echo "[" . implode(",", $d) . "]";

デモ:http ://codepad.org/nTveAGWm

エコーアウトjson_encode($myData);も機能しましたが:http://codepad.org/KTfQHz6s

于 2013-01-02T20:59:52.200 に答える
0

json_encodeが引用符を付ける理由は、データが文字列であるためです。この例を試して、違いを確認してください。

$arr = array(array(4,5,6), array(8,10, "11"));
print_r($arr);
echo "<br>";
echo json_encode($arr);

json_encodingの前にintvalを使用してintとして解析することができます

于 2013-01-02T21:04:02.187 に答える
0

あなたはこれを試すことができます

$c = array(1,2,3);
echo "Non-associative array output: ", json_encode($c), "\n";

これを返します:
非連想配列出力:[1,2,3]

于 2013-01-02T21:09:17.067 に答える
0

あなたの例の文字列を使用して、uはこのようなsmthを行うことができます

$arr = json_decode('[["2","3","3","1","1","4","1"],["1","2","2","1","1","1","1"]]');
foreach ($arr as &$val)
    foreach ($val as &$item)
        $item = (int)$item;
var_dump(json_encode($arr));

ついに私は得る

string(33) "[[2,3,3,1,1,4,1],[1,2,2,1,1,1,1]]"
于 2013-01-02T21:11:47.987 に答える