2013-07-08 16 views
21

Ho un array come indicato di seguito $test_package_data. Per il riferimento che sto stampando primi due elementi di esso:Come inserire una nuova coppia di valori chiave nell'array in php?

Array 
(
    [0] => Array 
     (
      [test_pack_id] => 9f27643023a83addd5eed41c4aade840 
      [test_pack_name] => Exams Combo 
      [test_pack_desc] => This Package contains 24 tests of Reasoning, English and Quantitative Aptitude. 

Total Tests in this Package : 26 
      [test_pack_type_id] => 3 
      [test_pack_image] => 
      [test_pack_validity_year] => 0 
      [test_pack_validity_month] => 3 
      [test_pack_validity_days] => 0 
      [test_pack_plan] => paid 
      [test_pack_price] => 399.00 
      [test_pack_no_tests] => 0 
      [test_pack_publish] => yes 
      [test_pack_sold] => 1 
      [test_pack_created_staff_id] => ff8d4a5ea6bf11dce105aa2fa7b959b8 
      [test_pack_updated_staff_id] => 81c4e3607c7e56bbf5461ef150437675 
      [test_pack_created_date] => 303 
      [test_pack_updated_date] => 1349235701 
      [test_pack_purchase_date] => 255 
      [category_detail] => Array 
       (
        [0] => Array 
         (
          [test_pack_category_id] => 8 
          [category_name] => English Language 
          [test_detail] => Array 
           (
            [0] => Array 
             (
              [test_id] => 91 
              [test_name] => English Language 8 
             ) 

            [1] => Array 
             (
              [test_id] => 90 
              [test_name] => English Language 7 
             ) 

            [2] => Array 
             (
              [test_id] => 88 
              [test_name] => English Language 6 
             ) 

            [3] => Array 
             (
              [test_id] => 89 
              [test_name] => English Language 5 
             ) 

            [4] => Array 
             (
              [test_id] => 87 
              [test_name] => English Language 4 
             ) 

            [5] => Array 
             (
              [test_id] => 86 
              [test_name] => English Language 3 
             ) 

            [6] => Array 
             (
              [test_id] => 85 
              [test_name] => English Language 2 
             ) 

            [7] => Array 
             (
              [test_id] => 97 
              [test_name] => English Language 1 
             ) 

           ) 

         ) 

        [1] => Array 
         (
          [test_pack_category_id] => 4 
          [category_name] => All Subjects 
          [test_detail] => Array 
           (
            [0] => Array 
             (
              [test_id] => 93 
              [test_name] => Mega 2 
             ) 

            [1] => Array 
             (
              [test_id] => 92 
              [test_name] => Mega 1 
             ) 

           ) 

         ) 

        [2] => Array 
         (
          [test_pack_category_id] => 7 
          [category_name] => Quantitative Aptitude 
          [test_detail] => Array 
           (
            [0] => Array 
             (
              [test_id] => 83 
              [test_name] => Quantitative Aptitude 8 
             ) 

            [1] => Array 
             (
              [test_id] => 82 
              [test_name] => Quantitative Aptitude 7 
             ) 

            [2] => Array 
             (
              [test_id] => 81 
              [test_name] => Quantitative Aptitude 6 
             ) 

            [3] => Array 
             (
              [test_id] => 80 
              [test_name] => Quantitative Aptitude 5 
             ) 

            [4] => Array 
             (
              [test_id] => 79 
              [test_name] => Quantitative Aptitude 4 
             ) 

            [5] => Array 
             (
              [test_id] => 78 
              [test_name] => Quantitative Aptitude 3 
             ) 

            [6] => Array 
             (
              [test_id] => 77 
              [test_name] => Quantitative Aptitude 2 
             ) 

            [7] => Array 
             (
              [test_id] => 76 
              [test_name] => Quantitative Aptitude 1 
             ) 

           ) 

         ) 

        [3] => Array 
         (
          [test_pack_category_id] => 6 
          [category_name] => Logical Reasoning 
          [test_detail] => Array 
           (
            [0] => Array 
             (
              [test_id] => 75 
              [test_name] => Reasoning 8 
             ) 

            [1] => Array 
             (
              [test_id] => 74 
              [test_name] => Reasoning 7 
             ) 

            [2] => Array 
             (
              [test_id] => 73 
              [test_name] => Reasoning 6 
             ) 

            [3] => Array 
             (
              [test_id] => 72 
              [test_name] => Reasoning 5 
             ) 

            [4] => Array 
             (
              [test_id] => 71 
              [test_name] => Reasoning 4 
             ) 

            [5] => Array 
             (
              [test_id] => 70 
              [test_name] => Reasoning 3 
             ) 

            [6] => Array 
             (
              [test_id] => 69 
              [test_name] => Reasoning 2 
             ) 

            [7] => Array 
             (
              [test_id] => 68 
              [test_name] => Reasoning 1 
             ) 

           ) 

         ) 

       ) 

     ) 

    [1] => Array 
     (
      [test_pack_id] => e7e95de96987cc7c89c1f0183110fb38 
      [test_pack_name] => Aptitude Reasoning 
      [test_pack_desc] => This package contains 8 tests on Reasoning. 
      [test_pack_type_id] => 3 
      [test_pack_image] => 
      [test_pack_validity_year] => 0 
      [test_pack_validity_month] => 3 
      [test_pack_validity_days] => 0 
      [test_pack_plan] => free 
      [test_pack_price] => 0.00 
      [test_pack_no_tests] => 0 
      [test_pack_publish] => yes 
      [test_pack_sold] => 4 
      [test_pack_created_staff_id] => ff8d4a5ea6bf11dce105aa2fa7b959b8 
      [test_pack_updated_staff_id] => ff8d4a5ea6bf11dce105aa2fa7b959b8 
      [test_pack_created_date] => 303 
      [test_pack_updated_date] => 1347127387 
      [test_pack_purchase_date] => 110 
      [category_detail] => Array 
       (
        [0] => Array 
         (
          [test_pack_category_id] => 6 
          [category_name] => Logical Reasoning 
          [test_detail] => Array 
           (
            [0] => Array 
             (
              [test_id] => 75 
              [test_name] => Reasoning 8 
             ) 

            [1] => Array 
             (
              [test_id] => 74 
              [test_name] => Reasoning 7 
             ) 

            [2] => Array 
             (
              [test_id] => 73 
              [test_name] => Reasoning 6 
             ) 

            [3] => Array 
             (
              [test_id] => 72 
              [test_name] => Reasoning 5 
             ) 

            [4] => Array 
             (
              [test_id] => 71 
              [test_name] => Reasoning 4 
             ) 

            [5] => Array 
             (
              [test_id] => 70 
              [test_name] => Reasoning 3 
             ) 

            [6] => Array 
             (
              [test_id] => 69 
              [test_name] => Reasoning 2 
             ) 

            [7] => Array 
             (
              [test_id] => 68 
              [test_name] => Reasoning 1 
             ) 

           ) 

         ) 

       ) 

     ) 
) 

Ora voglio aggiungere una nuova coppia chiave-valore di nome [count] => '$some_value' in questo array in ogni elemento dopo la coppia chiave-valore [test_pack_purchase_date] (diciamo dopo [test_pack_purchase_date] => 255 .? Come devo fare questo qualcuno mi può aiutare in questo senso Grazie in anticipo

+0

non si può davvero cambiare l'ordine in una matrice a parte l'eliminazione, aggiungendo, readding. – str

+1

Come stai creando l'array? – Dale

+0

array_merge dovrebbe aiutare – Robert

risposta

67

Se si sta creando nuovo array quindi provare questo:?.

$arr = array("key" => "value");

E se arr ay è già creato quindi provare questo:

$arr["key"] = "value";

+1

Quando faccio questo, ottengo solo l'ultimo elemento ... 'for ($ i = 1; $ i <= $ 5; $ i ++) { $ EACH_POST_QUERY = mysql_query ("SELEZIONA item_id FROM Mi piace WHERE item_id = '$ i'"); $ EACH_POST_TOTAL_LIKES = mysql_num_rows ($ EACH_POST_QUERY); $ EACH_POST_RESULT = array ($ i => $ EACH_POST_TOTAL_LIKES); } ' –

+1

@KalpeshSingh: poiché si sta creando un nuovo array ogni volta, modificare l'ultima riga con questo' $ EACH_POST_RESULT [] = $ EACH_POST_TOTAL_LIKES; ' E ti consiglio vivamente di usare PDO invece di deprecato' mysql_connect() ', puoi trovare maggiori informazioni su PDO [qui] (https://acomputerengineer.wordpress.com/2013/06/16/pdo-connection -class-in-php-oop-approccio con-singleton-pattern /) – dakshbhatt21

9
foreach($test_package_data as $key=>$data) { 

    $category_detail_arr = $test_package_data[$key]['category_detail']; 

    foreach($category_detail_arr as $i=>$value) { 
    $test_package_data[$key]['category_detail'][$i]['count'] = $some_value;////<----Here 
    } 

} 
Problemi correlati