2016-08-20 7 views
-1

다차원 배열을 만들려고합니다.PHP에서 다차원 배열을 만드는 방법?

$a = array(
     array(
      '1' => 'One', 
      '2' => 'two' 
     ), 
     array(
      '3' => 'three', 
      '4' => 'four' 
     ) 
    ); 

    $query_array = array(); 
    foreach($meta_keys as $meta_key) { 
     $query_ = array(); 
     foreach($meta_key as $key) { 
      $query_['key1'] = 'val1'; 
      $query_['key2'] = 'val2'; 
      $query_['key3'] = $meta_key;  
     } 
     array_push($query_array, $query_); 
    } 

저도 노력 중입니다. 그러나 운이 없다. 그것은 다음과 같이 될 수 있도록

제가

$query_array = array(
    array(
     'key1' => 'val1', 
     'key2' => 'val2', 
     'key3' => 'one' //only change here 
    ), 
    array(
     'key1' => 'val1', 
     'key2' => 'val2', 
     'key3' => 'two' //only change here 
    ), 
    array(
     'key1' => 'val1', 
     'key2' => 'val2', 
     'key3' => 'three' //only change here 
    ) 
    // Goes here same until the first $a value is end. 
); 

I가 array_merge()foreach 루프에서 다른 방식으로 array_combine() 함수를 사용한 ... 배열을 원한다. 그러나 결과는 없습니다. 위대한 엉망인 결과가 나온다.

PHP에서 어떻게 할 수 있습니까? 이 같은

+0

'$ c'의 _every single_ 요소에 대해 __both 값과 key__를 변경했으나 주석은 유일한 변경 사항이 세 번째 요소에 있음을 나타냅니다. 예상 결과가 문제 설명과 전혀 다르기 때문에 혼란 스럽습니다. '$ a [0] [1]'에서 값은''One "'인데'$ c [0] ["key3 "]'값은''one ''입니다. 이것은 오타 또는 예상 된 결과입니까? – Sherif

+0

실제로 나는'$ b'의 두 값을 가진 다른 배열을 포함하는'$ c' 배열을 필요로하고 세번째 값은'$ a' 값으로부터 올 것입니다. 새 배열에는'$ a'만큼 값이있는 배열이 포함됩니다. –

+0

글쎄, 당신이 뭘 하려는지 이해하지 못했어요. 귀하의 질문에 귀하가 예상 한 바와 일치하지 않는 _ 예상 결과가 표시됩니다. 예상 결과가 더 닮았도록 질문을 편집하십시오. – Sherif

답변

0

뭔가 일을해야 감사 :

$res = []; 
array_walk_recursive($a, function($item) use ($res, $b){ 
    $b["key3"] = $item; 
    res[] = $b; 
}); 

그것은 검증되지 않은입니다.

관련 문제