嗨,据我所知,可以在PHP中创建对象数组。当我尝试它时,发生了一些奇怪的事情。这是代码
function createData($sheet, $rowsNumber, $rowOffset){
$tempData = array();
$temp = new Column();
$insert = new InsertData();
for($i = 0; $i < $rowsNumber; $i++){
$temp->colName = "nome";
$temp->colValue = $sheet->getCell('C'.$rowOffset)->getValue(); //nome
$tempData[0] = $temp;
$temp->colName = "cognome";
$temp->colValue = $sheet->getCell('B'.$rowOffset)->getValue(); //cognome
$tempData[1] = $temp;
$temp->colName = "dataNascita";
$temp->colValue = $sheet->getCell('D'.$rowOffset)->getValue(); //dataNascita
$tempData[2] = $temp;
//$data[2] = date($format = "Y-m-d", PHPExcel_Shared_Date::ExcelToPHP($data[2])); //converte in formato data il valore numerico ottenuto da getCell
//echo($tempData[2]);
$temp->colName = "sesso";
$temp->colValue = $sheet->getCell('BK'.$rowOffset)->getValue(); //sesso
$tempData[3] = $temp;
$temp->colName = "altrePatologie";
$temp->colValue = $sheet->getCell('CF'.$rowOffset)->getValue(); //altrePatologie
$tempData[4] = $temp;
$temp->colName = "codiceDbCook";
$temp->colValue = $sheet->getCell('A'.$rowOffset)->getValue(); //codiceDbCook
$tempData[5] = $temp;
$insert->insert($tempData, "paziente");
}
}
这是$ tempData内部的内容:
它将读取的最后一个值放入所有数组中。有人可以解释是否可以创建对象数组,如果可以的话我在做什么?
答案 0 :(得分:0)
您需要为每个新列创建一个Column
的新实例:
for ($i = 0; $i < $rowsNumber; $i++) {
$temp = new Column();
$temp->colName = "nome";
$temp->colValue = $sheet->getCell('C'.$rowOffset)->getValue();
$tempData[] = $temp;
$temp = new Column();
$temp->colName = "cognome";
$temp->colValue = $sheet->getCell('B'.$rowOffset)->getValue(); //cognome
$tempData[] = $temp;
// and so on, and so forth ...
}
顺便说一句,如果您已经知道$ tempData数组的索引,则可以使用更短的方法来实现:
for ($i = 0; $i < $rowsNumber; $i++) {
$tempData[0] = new Column();
$tempData[0]->colName = "nome";
$tempData[0]->colValue = $sheet->getCell('C'.$rowOffset)->getValue();
$tempData[1] = new Column();
$tempData[1]->colName = "cognome";
$tempData[1]->colValue = $sheet->getCell('B'.$rowOffset)->getValue(); //cognome
// and so on, and so forth ...
}