0

データの配列を作成し、それに対して json_encode を使用して、データベースに保存します。今、私がやろうとしているのは、データベースからそれらを返し、foreach ループで使用することです。これは機能しません。

これは、データベース内で次のように表示されます。

["483","482"]

私はこのようなことができるようにしたい:

$json = ["483","482"]; //(note, this would be the value directly from the database)

foreach($json as $photoID)
{
    echo $photoID;
}

json_encode を再度使用してみましたが、明らかに機能しませんでした。"["483","482"]" が返されました。

4

3 に答える 3

3

PHP配列に戻すには、json_decodeを使用する必要があります。json_decode

したがって、php 変数があり、json が必要な場合は php_encode を使用し、逆の場合は json_decode を使用します。

編集:

この例を試してください:

// PHP Array
$array = array(483, 482);

var_export($array);
echo "<br />";

// Goes into JSON
$json = json_encode($array);

var_export($json);
echo "<br />";

// And back to PHP array
$backToArray = json_decode($json);

var_export($backToArray);
echo "<br />";

これは出力されます:

array ( 0 => 483, 1 => 482, )
'[483,482]'
array ( 0 => 483, 1 => 482, )

これはうまくいくはずです。

于 2012-10-20T18:59:43.797 に答える
0

json 文字列をデコードするjson_decodeを試しましたか

于 2012-10-20T18:59:25.340 に答える
0

を使用するjson_decode($data,TRUE)と、配列が得られます

作業コードを参照してください: http://codepad.org/HVNOuGmY

$c = '["483","482"]';

echo "<pre>";
print_r (json_decode($c,TRUE));
于 2012-10-20T18:59:36.947 に答える