我試圖轉換通過ForEach循環內的For循環獲取的數據。 我從下面的PHP代碼中獲取我期望的數據。問題是,當我嘗試將其轉換爲數組(包括爆炸的任何方法)時,我只獲得最後一個結果。我可以通過在循環內運行數組請求來獲知重複信息,但在循環外我只能得到最後一個結果。PHPExcel For循環數據到數組轉換
我正在使用PHPExcel。我沒有使用打開的文件,因爲我在故意移動文件之前從tmp文件加載這個數組。
我正在收集帶有數據的任何列的標題以構建我的數組(將被加載到下一個列表框中)。我知道有一個額外的逗號,但是一旦我可以正確提取它就可以修復。
以下代碼爲我提供了我的tmp文件的前3個標題:「Header1,Header2,Header3」 - 這是從以前在Excel網頁上建立表格的搜索中更改的。
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$highestRow = $worksheet->getHighestDataRow(); // e.g. 10
$highestColumn = $worksheet->getHighestDataColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
for ($row = 1; $row < 2; ++ $row) {
for ($col = 0; $col < $highestColumnIndex; ++ $col) {
$cell = $worksheet->getCellByColumnAndRow($col, 1);
$val = $cell->getValue().',';
$dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
print_r($val); //This is displaying what I expect to see "Header1,Header2,Header3,"
}
}}
我曾嘗試這樣的代碼如下(以$ myarray的一起),但我得到的結果類似:"Header1,Array ([0] => Header1,) Header2,Array ([0] => Header2,) Header3,Array ([0] => Header3,)" or if outside the } "Array ([0] => Header3,)
$myString = $val;
$myArray = explode(',',$myString,0);
print_r($myArray);
感謝您的幫助!
馬克