anArray[10][10]
не является указателем на указатель, это непрерывный блок памяти, подходящий для хранения 100 значений типа double, который компилятор знает, как обращаться, поскольку вы указали размеры. Вам нужно передать его функции в виде массива. Вы можете опустить размер начального измерения следующим образом:
void f(double p[][10]) {
}
Однако это не позволит вам передавать массивы с последним измерением, отличным от десяти.
Лучшее решение в C ++ используется std::vector<std::vector<double> >
: он почти такой же эффективный и значительно более удобный.
Я знаю, что вы сказали, что не хотите использовать isset()
, но я думаю, что это может быть то, что нужно, поскольку похоже, что вы пытаетесь получить доступ к элементу массива, который не существует.
while($row = $retid->fetch_assoc()) {
$var1 = isset($row["var1"]) ? $row["var1"] : "";
$var2 = isset($row["var2"]) ? $row["var2"] : "";
}
Я также заметил, что у вас есть то, что выглядит как дополнительная закрывающая скобка после обеих заключительных квадратных скобок.
Сделайте это
$ var2 = $ row ['var2'];
Убедитесь, что var2 является правильным именем столбца в таблице базы данных. Я не знаю, почему вы ставите закрывающую скобку ) в конце массива