2016-07-15 5 views
0

私はINFORMATION_SCHEMAからの返り値の列を返します。 その後、配列を作成し、foreachループで配列を使用して別の配列を作成します。PHP配列が正しい列を返さない

私が持っている問題は、最終的な配列は列SeqID0を生産、位置0から始まるですが、最初の列はSeqID1です:

Array ([0] => SeqID0 [1] => SeqID1 [2] => SeqID2 [3] => SeqID3 [4] => SeqID4 [5] => SeqID5 [6] => SeqID6 [7] => SeqID7 [8] => SeqID8 [9] => SeqID9 [10] => SeqID10 [11] => SeqID11 [12] => SeqID12 [13] => SeqID13 [14] => SeqID14 [15] => SeqID15 [16] => SeqID16 [17] => SeqID17 [18] => SeqID18 [19] => SeqID19 [20] => SeqID20 [21] => SeqID21 [22] => SeqID22 [23] => SeqID23 [24] => SeqID24 [25] => SeqID25 [26] => SeqID26 [27] => SeqID27 [28] => SeqID28 [29] => SeqID29 [30] => SeqID30 [31] => SeqID31 [32] => SeqID32 [33] => SeqID33 [34] => SeqID34 [35] => SeqID35 [36] => SeqID36 [37] => SeqID37 [38] => SeqID38 [39] => SeqID39 [40] => SeqID40 [41] => SeqID41 [42] => SeqID42 [43] => SeqID43 [44] => SeqID44 [45] => SeqID45 [46] => SeqID46) 

はどうすれば配列がSeqID1で開始することができます。

これは私のコードです。

$strSQLCol = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
      WHERE TABLE_NAME= 'NXLHR_Active' AND COLUMN_NAME LIKE 'SeqID%'"; 

$rsCol = mysqli_query($link,$strSQLCol);           

$SeqList = array(); 

do { 
    $SeqList[] = $row; 
} while($row = $rsCol->fetch_assoc()); 

$SeqIDArray = array(); 
foreach($SeqList as $key => $value) { 
    $SeqIDArray[] = 'SeqID' . $key; 
} 

ご迷惑をおかけしますようお願い申し上げます。

答えて

1

改善されたコードです。私はforeachに条件を追加している注意してください:

foreach($SeqList as $key => $value) { 
    if (1 > $key) { continue; } 
    $SeqIDArray[] = 'SeqID' . $key; 
} 
+0

こんにちは@rokas、仕事をしましたが、何らかの理由で「foreachのは」最後の列が返されていないお返事に感謝。配列の結果は次のようになります:Array([0] => SeqID1 => SeqID2 - SeqID45 => SeqID46まで続きますが、SeqID47がありません。 "と返すINFORMATION_SCHEMAの結果をエコーし​​、SeqID47も含めて返します。 – DCJones

+0

こんにちは、すべて解決しました。ありがとう – DCJones

関連する問題