2016-12-19 5 views
1

私は以下のように連想配列の "files"キーにキー値のペアを追加しようとしていますが、そのキーの範囲外でキーと値のペアをとっています。連想配列PHP操作

{ 
    "files": [ 
    { 
     "name": "abc.pdf", 
     "size": 17915, 
     "type": "application/pdf", 
     "action": "NIL" 
    } 
    ], 
    "filesize": 17344 
} 

{ 
    "files": [ 
    { 
     "name": "abc.pdf", 
     "size": 17915, 
     "type": "application/pdf", 
     "action": "NIL", 
     "filesize": 17344 
    } 
    ] 
} 

の下に指定されたように私は、私は次のことを試してみましたが、どれも機能していないそれをしたいです。 console.logで要求され、出力として

1. $data['filesize'] = $filesize; // appends as shown above 
2. $data['files']['filesize'] = $filesize;// 

編集():

Object {files: Array[1]} 
    files: Array[1] 
     0:Object 
      name: "abc.pdf" 
      size: "1795" 
      type:"application/pdf" 
      action: "NIL" 
     proto: Object 
     length:1 
__proto__:Array[0] 
__proto__:Object 

答えて

1

あなた$data['files']は、最初の要素が別の配列である配列、(これは、変更したい配列である)であります。あなたはcompletlyあなたがそれを設定解除することができますfilesize$dataに削除したい場合は

$data['files'][0]['filesize'] = $data['filesize']; 

これを試してみてください

unset($data['filesize']); 
+0

正しい答えを、と私はあなたがしたい場合に使用することを追加することができます 'あなたは 'foreach($ data ['files']を$ key => $ arrayとすることができます)$ array ['filesize'] = $ filesize;' – matiaslauriti

+0

感謝私は上記を試みましたがPHPを手に入れました。配列としての型stdClassのオブジェクト...検索後、私はarraとしてオブジェクトを扱っていたことに気付きましたyあなたの行をdata-> files [0] - > filesize = $ filesizeに変更しました。しかし、今私はオブジェクトを印刷するときにファイルサイズを見ることさえできません。 – fanbondi

+0

オブジェクトに対して 'var_dump'を使用し、質問をデータで更新します。 – Dekel