如何在PHP中的关联数组中插入新值对?

时间:2016-11-04 13:05:17

标签: php arrays

我是一个关联数组。我试图在循环中创建每个子数组并将其插入到多维数组中。谷歌建议使用array_merge,但在使用' print_r'在具有下面代码的多维数组上,只显示最后一个子数组。

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [candidate] => Array
                        (
                            [id] => 184
                            [firstName] => skg
                            [lastName] => s
                            [address] => Array
                                (
                                    [address1] => sakthi
                                    [address2] => 
                                    [city] => 
                                    [state] => 
                                    [zip] => 
                                    [countryID] => 1
                                    [countryName] => United States                                                   
                                    [countryCode] => US
                                )

                            [hourlyRate] => 0
                        )

                    [jobOrder] => Array
                        (
                            [id] => 88
                            [title] => Tech Analyst
                        )

                )

            [1] => Array
                (
                    [candidate] => Array
                        (
                            [id] => 852
                            [firstName] => mso cool     
                            [lastName] => 
                            [address] => Array
                                (
                                    [address1] => 
                                    [address2] => 
                                    [city] => 
                                    [state] => 
                                    [zip] => 
                                    [countryID] => 1
                                    [countryName] => United States                                                   
                                    [countryCode] => US
                                )

                            [hourlyRate] => 0
                        )

                    [jobOrder] => Array
                        (
                            [id] => 57
                            [title] => Tester
                        )

                )

和另一个像这样的数组:

[rating] => Array
    (
        [0] => 7
        [1] => 5
        [2] => 
    )

如何将此数组值合并到以前的数组值中,如

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [candidate] => Array
                        (
                            [id] => 184
                            [firstName] => skg
                            [lastName] => s
                            [address] => Array
                                (
                                    [address1] => sakthi
                                    [address2] => 
                                    [city] => 
                                    [state] => 
                                    [zip] => 
                                    [countryID] => 1
                                    [countryName] => United States                                                   
                                    [countryCode] => US
                                )

                            [hourlyRate] => 0
                    [rating] => 7
                        )

                    [jobOrder] => Array
                        (
                            [id] => 88
                            [title] => Tech Analyst
                        )

                )

            [1] => Array
                (
                    [candidate] => Array
                        (
                            [id] => 852
                            [firstName] => mso cool     
                            [lastName] => 
                            [address] => Array
                                (
                                    [address1] => 
                                    [address2] => 
                                    [city] => 
                                    [state] => 
                                    [zip] => 
                                    [countryID] => 1
                                    [countryName] => United States                                                   
                                    [countryCode] => US
                                )

                            [hourlyRate] => 0
                            [rating] => 5
                        )

                    [jobOrder] => Array
                        (
                            [id] => 57
                            [title] => Tester
                        )

                )

我尝试了许多技巧,但无法获得所需的数组格式。任何人都可以帮助我获得所需的阵列吗?提前谢谢。

2 个答案:

答案 0 :(得分:2)

$arr = array(); //filled with data
$rating = array(); //filled with rates

foreach ( $rating as $key =>$rate ) {
    $arr['data'][ $key ]['rating'] = $rate;
}

答案 1 :(得分:0)

<?php
$arr=Array(
    'data'=>Array(
        0=>Array('candidate'=>Array()),
        1=>Array('candidate'=>Array())
    )
);

$rating=Array(7,5);

foreach($rating as $key=>$val){
    $arr['data'][$key]['rating']=$val;
}

print_r($arr);

返回:

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [candidate] => Array
                        (
                        )

                    [rating] => 7
                )

            [1] => Array
                (
                    [candidate] => Array
                        (
                        )

                    [rating] => 5
                )

        )

)