2016-12-10 5 views
0

PHPスクリプトを使用してオブジェクトをJSONに変換する必要があります。PHPでオブジェクトをJSONに変換する際の問題

私はループサイクルでこのコードを書いた:

$zaino->rows[$num_oggetti]->item = $oggetto; 
$zaino->rows[$num_oggetti]->amount = $num; 

ループサイクルの後、私はJSONにオブジェクトを変換しますjson_encode($zaino);

は、これは私が得るものです:

{"rows":{"1":{"item":"Soffio di Morte","amount":"1"},"2":{"item":"Pietra Anima di Ferro","amount":"11"},"3":{"item":"Pietra Anima di Legno","amount":"12"}} 

しかし、私は次のようなものが必要です:

{"rows":[{"item":"Soffio di Morte","amount":"1"},{"item":"Pietra Anima di Ferro","amount":"11"},{"item":"Pietra Anima di Legno","amount":"12"}]} 

""の間の数字がないので、を呼び出した後に、例えば$zaino->rows[1]->itemを使用して値を簡単に取得できます。どうしたらいいですか?

+0

$ zaino-> rows [] =( 'item' => $ item、 'amount' => $ num); –

+0

編集:$ zaino-> rows [] = array( 'item' => $ item、 'amount' => $ num); –

+0

ありがとう、あなた!これは私の問題を解決しました! –

答えて

0

$num_oggettiは数字ではなく文字列の値です(数字ではありますが数値ではありません)。これはPHPに、インデックスの代わりにキーを設定していることを伝えます。

あなたが何か行うことができ、実際のインデックス必要がない場合:あなたは完全にPHPまでのインデックス生成を残すこの方法

$zaino->rows[] = [ 
    'item' => $oggetto, 
    'amount' => $num 
]; 

をし、あなたが欲しいJSON出力が得られます。

関連する問題