2012-10-19 6 views
0

배열이 120 개이고 각 행에 5 개의 열이 있습니다. 마지막에 나는 세 개의 행을 추가하려고했지만 마지막 세 개의 열만 추가하려고했습니다. 먼저 행에 더미 char *를 추가했습니다. (3) 추가하고 싶었습니다. 루프에서이 세 행 (각 세 열)이 추가됩니다. 문제는 - 메인 행 끝에 추가 된 첫 번째 행, 키 순서가 손실되었습니다 !! 출력의 예 (마지막 부분 표시) : 당신이 볼 경우PHP : 배열 키의 순서가 올바로 나오지 않습니다.

[116] => Array ([0] => A3 [1] => B4 [2] => C2 [3] => D4 [4] => *) 
[117] => Array ([0] => A3 [1] => B5 [2] => C2 [3] => D2 [4] => *) 
[118] => Array ([0] => A3 [1] => B5 [2] => C2 [3] => D3 [4] => *) 
[119] => Array ([0] => A3 [1] => B5 [2] => C2 [3] => D4 [4] => *) 
[120] => Array (**[4]** => * [0] => * [1] => * [2] => * [3] => *) **<==== Observer this row** 
[121] => Array ([0] => * [1] => * [2] => * [3] => * [4] => *) 
[122] => Array ([0] => * [1] => * [2] => * [3] => * [4] => *) 

은 행 (120), [4] 시작에 와서 대신 [0]! 더미 *을 채우는 데 사용

코드 : 코드 지난 3 개 행을 업데이트하는 데 사용

$i = 0; 
for ($i=0;$i<=count($unMatchedRows)-1;$i++){ 
    for ($jCols = 0; $jCols<=($pNoOfCols+$pStartCol-1); $jCols++){ 
     $pMainArray[$vRowsOfMainArray+$i][$jCols] = '*'; 
    } 
} 

는 :

$i=0; 
$ColToStart = $pStartCol-1; 
foreach ($unMatchedRows as $rowNumberOfCompArray) { 
    for ($jCols = 0; $jCols<=$pNoOfCols; $jCols++){ 
     echo "<br /> Value of Colstart: ".($ColToStart+$jCols); 
     $pMainArray[$vRowsOfMainArray+$i][$ColToStart+$jCols] =  $pCompArray[$rowNumberOfCompArray][$jCols]; 

    } 
    $i++; 
} 
$pStartCol = 3 and $pNoOfCols = 2; 

는 행 안부 값과 사물의 에코 완벽 최대 나타내나요! 심지어 retriving에, 나는 적당한 가치를 얻을 수 있었다. .. [0]와 [4]처럼 나는 바른 가치를 얻고 있었다.

문제은 시각적 환경에서 위의 배열을 피드백해야하며 올바르게 표시되지 않습니다.

어떤 도움이 필요합니까?

답변

1

문제는 확실하지 않지만 키가 배열에 추가 된 것과 같은 순서로 나타납니다.

ksort()을 사용하여 키를 기반으로 배열을 정렬 할 수 있습니다.

+1

감사합니다. savageman! 발견. 마지막 열 (* 값을 업데이트하기 전에)에 *를 채우는 동안 배열의 수가 0부터 시작됨에 따라 1이 더 늘어납니다. 119 개의 행 대신 120 개의 행에 1 개의 열이 업데이트되고 그것은 모든 문제를 만들었습니다 !! –

관련 문제