2016-11-04 6 views
-2

연관 배열이 있습니다. 루프 내에서 각 하위 배열을 만들고 다차원 배열에 삽입하려고합니다. Google은 array_merge를 사용하여 제안했지만 아래의 코드로 다차원 배열에서 'print_r'을 사용한 후 마지막 하위 배열 만 표시됩니다.PHP의 연관 배열에 새 값 쌍을 삽입하는 방법은 무엇입니까?

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 
         ) 

       ) 

같은 이전 배열 값에이 배열 값을 병합 얻을 나는 트릭을 많이 시도했지만 나오지 않았어 원하는 배열 형식을 얻지 못합니다. 어느 누구도 원하는 어레이를 얻을 수 있습니까? 미리 감사드립니다.

+1

이 우리에게'tricks' –

+0

@u_mulder의 $ 반응 = array_merge ($ 응답, $ canDetails)를 표시; – Dinesh

+0

간단한'array_merge' 함수로 병합 할 방법이 없습니다. 두 번째 배열에서 추가 정보를 반복하고 삽입 할 수 있습니다 - 가장 쉬운 방법입니다. – brzuchal

답변

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

foreach ($rating as $key =>$rate) { 
    $arr['data'][ $key ]['rating'] = $rate; 
} 
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 
       ) 

     ) 

) 
관련 문제