2016-06-08 7 views
-1
[marketing] => [{"quartername":"Q2","tactic":"Single Email Campaign","level1":"8000","level2":"6000","level3":"5000","level4":"3000","level5":"1500","level6":"1000","level7":"800","level8":"600","level9":"500","level10":"65"},{"quartername":"Q2","tactic":"Multi-Touch Email Campaign","level1":"350","level2":"200","level3":"156","level4":"142","level5":"122","level6":"112","level7":"80","level8":"65","level9":"35","level10":"15"}] 

У меня есть JSON data.when я декодировать JSon значение accure:Как добавить конкретные ключевые значения в JSON

Array 
(
    [0] => stdClass Object 
     (
      [quartername] => Q2 
      [tactic] => Single Email Campaign 
      [level1] => 8000 
      [level2] => 6000 
      [level3] => 5000 
      [level4] => 3000 
      [level5] => 1500 
      [level6] => 1000 
      [level7] => 800 
      [level8] => 600 
      [level9] => 500 
      [level10] => 65 
     ) 

    [1] => stdClass Object 
     (
      [quartername] => Q2 
      [tactic] => Multi-Touch Email Campaign 
      [level1] => 350 
      [level2] => 200 
      [level3] => 156 
      [level4] => 142 
      [level5] => 122 
      [level6] => 112 
      [level7] => 80 
      [level8] => 65 
      [level9] => 35 
      [level10] => 15 
     ) 

) 

я просто хочу, чтобы они сравнивают «quartername» и затем добавьте значение значения ключа ключа 1 индекса 0 в значение уровня 1 уровня 1 уровня.

Массив я хочу создать, подобно тому, как:

Array 
(
    [0] => stdClass Object 
     (
      [quartername] => Q2 
      [tactic] => 
      [level1] => 8350 
      [level2] => 6200 
      [level3] => 5156 
      [level4] => 3142 
      [level5] => 1622 
      [level6] => 1112 
      [level7] => 880 
      [level8] => 665 
      [level9] => 535 
      [level10] => 80 
     ) 

здесь код я попытался:

$a=json_decode($obj_total[$i]['marketing']); 


    foreach($a as $key=>$val) 
    { 
     foreach($val as $datakey=> $data) 
     { 
     $dte[]=$val->$datakey; 

     } 
    } 
    echo "<pre>"; print_r(array_sum($dte));echo "</pre>"; 
     } 
+2

* "я просто хочу, чтобы они сравнивают 'quartername', а затем добавьте значение значения ключевого уровня 1 индекса 0 в значение уровня 2 уровня 1 уровня. "* Хорошо. Напишите код, чтобы сделать это, и если у вас возникла проблема, отправьте конкретный вопрос с этим кодом с вопросом о конкретной проблеме, с которой вы столкнулись. Подробнее: [* Как я могу задать хороший вопрос? *) (/ Help/how-to-ask) и [* Какие типы вопросов я должен избегать? *) (/ Help/dont-ask) –

+0

@RiggsFolly i обновите вопрос, который также покажет, что я хочу, какой тип массива. –

+0

См. Комментарий @ T.J.Crowder. Мы ожидаем, что вы должны что-то сделать для себя. ** SO не является бесплатной услугой кодирования **, но мы очень хотим помочь, когда вы немного зациклились на актуальной проблеме с кодированием. – RiggsFolly

ответ

1
try this code: 

    for($i=0;$i<count($obj_total);$i++) 
      { 

      $a=json_decode($obj_total[$i]['marketing']); 

     $sumArray = array(); 

      foreach ($a as $k=>$subArray) { 
       foreach ($subArray as $id=>$value) { 
       $sumArray[$id]+=$value; 
       } 
      } 

echo "<pre>"; print_r($sumArray);echo "</pre>"; 
      } 
Смежные вопросы