Создание копии строки результата


Как я могу скопировать массив, в котором есть другие ассоциативные массивы? Я говорю о результирующем наборе, возвращенном из 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 2

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))