Итак, я застрял в этом цикле do-while, который не работал около двух часов. Я действительно не понимаю, почему это не работает. Я получаю эту ошибку:
Notice: Undefined offset: 9 in /public_html/me/yes.php on line 60
Единственная проблема, о которой я думаю, заключается в том, что он не принимает циклы while в режиме do-while.
Вот мой рабочий код только для внутреннего цикла while:
$maxcols = $numofcols-1; //=9
$maxrow = count($myarray)-1; //=44
$currentcol=0;
$currentrow=1;
//do {
$collection->insert(array($title[$currentcol] => $myarray[$currentrow][$currentcol]));
$currentcol++;
while ($currentcol<=$maxcols){
$newdata = array('$set' => array($title[$currentcol] => $myarray[$currentrow][$currentcol]));
$currentcol--;
$collection->update(array($title[$currentcol] => $myarray[$currentrow][$currentcol]), $newdata);
$currentcol++;
$currentcol++;
}
$currentrow++;
//} while ($currentrow<=$maxrow);
Если я раскомментирую две строки "//do {" и "//} while ($currentrow‹=$maxrow);" моя программа умирает с ошибкой, о которой я упоминал выше. Есть ли что-то очень простое в том, почему это нарушает мой код? заранее спасибо
ОБНОВЛЕНИЕ:
Строка 60:
$collection->insert(array($title[$currentcol] => $myarray[$currentrow][$currentcol]));
$title
? - person Dr.Kameleon   schedule 02.04.2012$title[9]
, которого, как вы только что сказали, НЕ существует... Как насчет того, чтобы попытаться увидеть, что не так с вашей переменной currentCol.... Может быть, просто добавить проверкуif ($currentCol<9) {
тогда и только потом делай... что дальше... - person Dr.Kameleon   schedule 02.04.2012foreach
? Это похоже на С++ способ обработки массивов. Взгляните на это. - person Shoe   schedule 02.04.2012