在php中放一个数组末尾的键

时间:2016-03-28 07:31:07

标签: php arrays php-5.3

我有这个数组:

Array
(
[0] => Array
    (
        [date] => 2016-03-08
        [value] => Array
            (
                [key_1] => Array
                    (
                        [test_1] => 1
                        [test_2] => 10
                        [test_3] => 1000
                        [test_4] => 200
                    )

                [key_2] => Array
                    (
                        [test_1] => 1
                        [test_2] => 15
                        [test_3] => 1500
                        [test_4] => 100
                    )

             )
)

现在我有另一个阵列:

Array
(
  [key_3] => Array
    (
        [test_1] =>
        [test_2] =>
        [test_3] =>
        [test_4] => 1
    )

) 我想在第一个数组中添加最后一个数组。 我试着这样:array_push($ymlParsedData[]['value'], $a_big_gift);但不行。你能帮帮我吗?

3 个答案:

答案 0 :(得分:1)

您不能使用$ymlParsedData[]来访问特定元素,它是将数据推送到数组的简写。

您可以使用

// NB! array_push() just adds the values, key 'key_3' is removed
array_push($ymlParsedData[0]['value'], $a_big_gift);

// will keep key 'key_3'
$ymlParsedData[0]['value']['key_3'] = $a_big_gift['key_3'];

// use array_merge() instead
$ymlParsedData[0]['value'] = array_merge($ymlParsedData[0]['value'], $a_big_gift);

答案 1 :(得分:1)

一个复杂的答案,但这可能会解决您的问题:

$key_name = array_keys($a_big_gift)[0];
$ymlParsedData[0]['value'][$key_name] = $a_big_gift[$key_name];

echo '<pre>'; print_r($ymlParsedData); exit;

注意:为了使其动态化并且对于$a_big_gift的多个值,您需要循环它并获得结果。

答案 2 :(得分:1)

试试这个

array_push($ymlParsedData[0]['value'], $a_big_gift['key_3']);