2011-12-22 3 views
0

내 개체 newUpload의 개체 속성에 $_POST$_FILES 개의 변수가 저장되었습니다. 내 SQL 업데이트 문을 생성하려고하지만 배열을 결합하는 데 문제가 있습니다. 여러 배열을 결합하는 배열은 어떻게 만듭니 까? 글로벌 키워드가 혼란스럽고 나타나지 않아야합니다.여러 배열을 새 배열로 결합하려면 어떻게합니까?

$array = array(); 
foreach ($this->post as $value) { 
    array_push($array, $value); 
} 
foreach ($this->files as $key => $value) { 
    $list = array('name', 'type', 'size', 'extension', 'filetime'); 
    if (in_array($key, $list)) { 
     array_push($array, $value); 
    } 
} 
$array .= $this->moved['filepath']; 
echo $array; 

UPDATE : 실수 대신 $array[] = $valuearray_push를 사용하여. 배열의 범위가 foreach 루프에 국한되어 있다고 생각했지만 array_push 함수가 잘못되었습니다. 아래 코드가 작동했습니다. 모든 분들께 진심으로 감사드립니다. 귀하의 의견은 제가 솔루션을 제시하는 데 정말로 도움이되었습니다.

foreach ($this->files as $key => $value) { 
    $array2 = array('name', 'type', 'size', 'extension', 'filetime'); 
    if (in_array($key, $array2)) { 
     $array[] = $value; 
    } 
}   
$array = array_merge($array, $this->post); 
$array[] = $this->moved['filepath']; 
+0

당신이 배열이 결합되기 전에 보이는 방법의 예를 줄 수 그리고 그들이 결합 된 후에 어떻게보아야 하는가? – Jrod

답변

1

PHP가 할 수있는 기능이 바로이 array_merge라고하며이 작업을 수행 할 것입니다 귀하의 경우이 기능을 사용하려면

$array = array_merge($_POST, $_FILES); 
+1

필터가 있습니다 :'$ list = array ('name', 'type', 'size', 'extension', 'filetime'); ' – hakre

+0

이렇게 배열을 병합 할 수 있다고 언급하려면 $ result = $ array2 + $ array1; 은 과 같습니다. $ result = array_diff_key ($ array1, $ array2) + $ array2; 두 배열 모두 동일한 키에 대해 신경을 쓰지 않아야하는 경우에 더 유용합니다. – FreeCandies

관련 문제