php 如何在php的数组中插入一个新的键值对?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17524484/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 13:03:14  来源:igfitidea点击:

How to insert a new key value pair in array in php?

phparraysmultidimensional-arrayassociative-array

提问by PHPLover

I've an array as follows named $test_package_data. For the reference I'm printing first two elements of it:

我有一个名为$test_package_data. 作为参考,我正在打印它的前两个元素:

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
                                        )

                                )

                        )

                )

        )
)

Now I want to add a new key-value pair named [count] => '$some_value'in this array in every element after the key-value pair [test_pack_purchase_date](say after [test_pack_purchase_date] => 255. How should I do this? Can anyone help me in this regard? Thanks in advance.

现在,我想在键值对[count] => '$some_value'之后的每个元素中添加一个在此数组中命名的新键值对[test_pack_purchase_date](例如在 之后[test_pack_purchase_date] => 255。我应该怎么做?有人可以在这方面帮助我吗?提前致谢。

回答by dakshbhatt21

If you are creating new array then try this :

如果您正在创建新数组,请尝试以下操作:

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

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

And if array is already created then try this :

如果数组已经创建,那么试试这个:

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

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

回答by Goutam Pal

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
   }

}

回答by Anitha

Try this:

尝试这个:

foreach($array as $k => $obj) { 
    $obj->{'newKey'} = "value"; 
}