Создание копии строки результата
Как я могу скопировать массив, в котором есть другие ассоциативные массивы?
Я говорю о результирующем наборе, возвращенном из mysql_fetch_assoc
.
connect
$result = query;
while ($row = mysql_fetch_assoc($result)) {
array_push($static_row, $row); // here lies the problem
}
Я хотел бы получить это $static_row
точно как копию $row
. В конце концов, я хотел бы поместить этот запрос и цикл while в функцию, и просто вернуть $static_row
В качестве ссылки, a print_r
из $row
выглядит следующим образом
Array ( [key1] => value1 [key2] => value2 )
Array ( [key1] => value1 [key2] => value1 )
Спасибо, дайте мне знать, если вам нужны более подробные сведения
3 ответа:
Используйте форму:
connect $result = query; while ($row = mysql_fetch_assoc($result)) { $rows[] = $row; } // now you have all the answers in an array of arrays, which you can return from a function
Ну, я не совсем уверен, что вы пытаетесь сделать, но похоже, что у вас есть задание копирования (которое должно работать именно так) внутри цикла. Может быть, это и есть твоя проблема.
Прямо со страницы php doc
// Fetching all the results to array with one liner: $result = mysql_query(...); while(($resultArray[] = mysql_fetch_assoc($result)) || array_pop($resultArray))