2011-03-31 11 views
2

양식 제출의 데이터가 $post_data이라는 변수에 저장되어 있습니다. 내가 print_r($post_data);을 수행 할 때 나는 다음과 같은 배열을 얻을 :변수를 배열에 저장하는 방법은 무엇입니까?

Array 
(
    [element_3] => John Doe 
    [element_2] => [email protected] 
    [element_14] => City 
    [element_15] => Country 
    [form_id] => 1 
    [submit] => Submit 
); 

내가 다른 스크립트에 전달할 다른 배열의 필드의 일부를 저장합니다. 내 코드가 작동합니까? 그렇지 않다면 어떻게 수정해야합니까? 또한

$submitted_data = array(
    'Fields' => array(
     array(
      'Key' => 'Name', 
      'Value' => $post_data['element_3'] 
     ) 
     array(
      'Key' => 'Email', 
      'Value' => $post_data['element_2'] 
     ) 
    ) 
) 

, PHP는 멍청한 놈 질문, 나는 이름과 이메일 배열 사이에 또 ​​다른 쉼표 (,)가 필요합니까?

감사합니다.

+0

'이름과 이메일 배열 사이에 다른 쉼표 (,)가 필요합니까? '그렇습니다. 그 외에는 솔루션이 정상적으로 보입니다. –

+2

'내 코드는 작동할까요? '라는 질문을하기 전에 테스트 해 보았습니까? 그렇습니다. 배열 요소 사이에 구분 기호로 쉼표가 필요합니다. –

+0

사실 Serty에 동의합니다. 시도하는 것을 두려워하지 마십시오. 그리고 테스트 환경에서만 에러 표시를 가능하게하고'error_reporting'을 알맞은 레벨 ('E_ALL')로 설정하십시오. –

답변

1

하지만, 필드 이름에 따라 사용을 고려할 수 :

$submitted_data['Name']=$post_data['element_3']; 
$submitted_data['Email']=$post_data['element_2']; 

은 더 귀하의 질문에 하나 같은 결과를 얻으려면 루프를 사용하여 전체 프로세스를 자동화 할 수 있습니다.
$field_map = array(
    'element_3' => 'Name', 
    'element_2' => 'E-mail', 
    'element_14' => 'City', 
    'element_15' => 'Country' 
); 

$submitted_data = array('fields' => array());  
foreach ($field_map as $key => $label) 
{ 
    $submitted_data['fields'][] = array(
     'key' => $key,    // e.g. element_2 
     'label' => $label,   // e.g. E-mail 
     'value' => $post_data[$key] // e.g. [email protected] 
    ); 
} 

보다 쉽게 ​​유지하고 미래에 수정하고, 그것을 처리하는 부분에서 키/라벨 쌍의 저장/매핑을 분리합니다.

+0

감사합니다. 이것은 내 코드를 훨씬 더 효율적으로 만들어줍니다. – blogjunkie

0

또 다른 방법은 두 번째 스크립트의 수정 방법에 따라 달라질 수 있습니다. 나는 당신이하고 싶은 이유를 정확히 모르겠어요

$submitted_data['Fields']['0']['Key']='Name'; 
$submitted_data['Fields']['0']['Value']=$post_data['element_3']; 
$submitted_data['Fields']['1']['Key']='Email'; 
$submitted_data['Fields']['1']['Value']=$post_data['element_2']; 
+0

감사합니다. 정확히 필요한 부분을 설명합니다! – blogjunkie

관련 문제