2011-03-24 4 views
1

두 개의 배열이 있습니다. 다음 형식으로 연결하고 싶습니다. 형식은 다음과 같습니다.질문과 관련된 배열

Getting form values using post method 
    /************ Getting Form names like Weight,arms Age etc **********************/ 
     foreach ($_POST["form_field_names"] as $key => $values) { 
    $form_field_name = $values; 
} 

/************ Getting Form Values like 45,90,2 **********************/ 
foreach ($_POST["form_field_values"] as $key => $values) { 
    $form_field_values[] = $values; 
} 

Array 
(
    [0] => Age 
    [1] => Weight 
    [2] => Arms 
) 
Array 
(
    [0] => 45 
    [1] => 90 
    [2] => 2 
) 

이 가능

$output = $Age.","."45".",".$Weight.","."90".",".$Arms.","."2".","; 

가 다음 형식으로 연결하는 원하십니까? 이 출력 문자열을 생성하는 그 이상 반복 단지 문제 그리고

$assoc = array_combine($keys_array1, $num_array2); 

: 감사

답변

5

내가 먼저 두 배열을 into one 연관 배열을 병합 할 것을 제안 할 것이다

$str = ""; 
foreach ($assoc as $key=>$num) { 
    $str .= "$key,$num,"; 
} 

을한다 후속 ,이 문제가된다면 (나중에 말하지 않았 음) 나중에 $str = rtrim($str, ",") 해결 방법을 사용해야합니다.

+0

중간 배열을 만들어 메모리를 낭비합니다. @Rob Williams의 답변을 보려면 하나의 루프 만 수행하면됩니다. – codaddict

+0

@codaddict : 사실, 루프에서 temp로 처리 할 것입니다. 하지만 콜백에서 힙 조각화 또는 임시 문자열로 쉽게 처리 할 수있는 또 다른 1K입니다. @ Rob의 아이디어는'$$ keyname'을 통해 결국 더 적절합니다. – mario

+0

@mario'array_combine ($ form_field_name, $ form_field_values);'이 문장은 corrent입니까? 그것의 작동하지 않습니다. –

0

당신은 내가 당신의 첫 번째 배열 $arr1 두 번째 $arr2

$newArr = array(); 
foreach($arr1 as $k=>$v) 
    $newArr[$v] = $arr2[$k]; 

전화 또는 언급 된 다른 포스터로 array_combine을 확인합니다 병렬 배열

'병합'할 수 있습니다. PHP는 좋은 배열 함수를 가지고 있으며 항상 그것들을 사용하기에 좋다.)

를,이 형식의 배열이 있으면

['Age'] => 45 
['Weight'] => 90 
['Arms'] => 2 

당신은 ...

foreach($newArr as $k=>$v) 
    echo "$k: $v " 
2

이 이상한 요청 같아 다음과 같이 그들에게 당신이 원하는 방식으로 인쇄,하지만 확인 할 수 있습니다
$output = ""; 

for ($i = 0; $i < count($array1); $i++) { 
    $output .= $array1[$i] . "," . $array2[$i] . ","; 
} 

이제 array1의 문자열을 연결합니다. 당신이하는 array1의 문자열의 이름을 따서 명명 변수를 연결하는 찾고 있다면, 매우 비슷한 루프 작동합니다 :

$output = ""; 

for ($i = 0; $i < count($array1); $i++) { 
    $output .= $$array1[$i] . "," . $array2[$i] . ","; 
} 

내가 작업을해야 생각 .

0
$str = ''; 
foreach($array1 as $key => $value) 
{ 
    $str .= $value.",". $array2[$key].","; 
} 
관련 문제