2014-09-23 2 views
2

안녕하세요, 도움이 될 수 있으면 배열의 인구로 고심하고 있습니다.두 개의 다른 배열에서 for 루프에 새 배열 채우기

두 배열 및 $end_range[]은 모두 각각의 값을 포함하며 두 배열의 크기는 같습니다. 예 : $start_range[0] = 1000$end_range[0]=[2000]. 이제 그 숫자 사이의 범위를 가진 새로운 배열을 채우고 예제의처럼 값의 존엄성을 유지하려고합니다. 순간에서

는 여기

for ($i=0; $i<sizeof($start_range); $i++) { 
    $new_array[] = range($start_range[$i], $end_range[$i]); 
} 

이 코드를 사용하고하지만 내 문제는 배열의 크기를 순환하기 때문에이 같은 데이터 배열을 생성하는 것입니다. 배열의 크기가 4 인 것처럼 4 개의 똑같은 배열이 생성됩니다. 두 배열의 첫 번째 열에서만 배열을 생성하므로 루프에서 벗어날 수 없습니다.

모든 솔루션?

+3

내 설명을 읽으면서 의도 한대로 작동하는 것처럼 들리지만 분명히 그렇지 않습니다. 두 개의 입력 배열에서 작은 샘플을 게시하고 예상되는 출력 배열을 어떻게 표시 할 수 있습니까? 코드가 이미 생성하지 않은 경우 출력의 구조가 무엇인지 이해하는 것이 가장 어렵습니다. –

+0

@MichaelBerkowski 내 작업장에있는 것처럼 나는 할 수 없다. 나는 내 자신의 PC에 메모리에서 코드를 다시 입력했다. 나는 내일 아침에 그것을 먼저 게시 할 것입니다. 나는 대체로 어딘가에 오타가 있다고 생각하지만 루프가 반복 될 때마다 새로운 배열을 생성한다. – braumer

+0

무엇보다도'$ new_array'가 어떻게 보이는지 알아 보는 것이 도움이 될 것입니다. 예를 들어 주어진 범위 1..3과 20..23의 기존 코드는'array (array (1,2,3), array (20,21,22,23))'을 생성하지만, 'array (1,2,3,20,21,22,23)'와 같은 단일 연속 배열. –

답변

0

이렇게하면 되나요?

$newArray = array(); 
foreach ($startArray as $key => $value) { 
    $newArray[$key] = range($startArray[$key], $endArray[$key]); 
} 
관련 문제