2013-07-08 20 views
21

$test_package_data adlı aşağıdaki gibi bir dizim var.PHP'de dizide yeni bir anahtar değer çifti nasıl eklenir?

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 
             ) 

           ) 

         ) 

       ) 

     ) 
) 

Şimdi anahtar-değer çifti [test_pack_purchase_date] (sonra her eleman bu dizide [count] => '$some_value' adlı yeni anahtar-değer çifti eklemek istediğiniz diyelim [test_pack_purchase_date] => 255 sonra: Başvuru için bundan ilk iki öğe yazdırdığımı .? bunu ben yapmalıyım nasıl herkes bu konuda bana yardımcı olabilir peşin

+0

Gerçekten readding, ekleme, silme dışında bir dizi sırasını değiştiremezsiniz. – str

+1

Diziyi nasıl oluşturuyorsunuz? – Dale

+0

array_merge, – Robert

cevap

67

Eğer yeni bir dizi oluştururken, o zaman bu deneyin:?.

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

Ve arr eğer ay zaten o zaman yaratılan bu deneyin:

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

+1

'dan önce doğru konumdayken, bunu yaptığımda sadece son elemanı alırım ... ' for ($ i = 1; $ i <= $ 5; $ i ++) { $ EACH_POST_QUERY = mysql_query ("SELECT item_id FROM, WHERE item_id = '$ i'" şeklindedir); $ EACH_POST_TOTAL_LIKES = mysql_num_rows ($ EACH_POST_QUERY); $ EACH_POST_RESULT = dizi ($ i => $ EACH_POST_TOTAL_LIKES); } ' –

+1

@KalpeshSingh: her seferinde yeni dizi oluşturduğunuz için, son satırı bu $ $ ile değiştirin: $ EACH_POST_RESULT [] = $ EACH_POST_TOTAL_LIKES; ' Ve kullanımdan kaldırıldı yerine PDO kullanmanızı öneririz 'mysql_connect()', PDO hakkında daha fazla bilgi bulabilirsiniz [burada] (https://acomputerengineer.wordpress.com/2013/06/16/pdo-connection -class-in-php-oOP-yaklaşım-ile-tekil-desen /) – 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 
    } 

}