2009-12-12 3 views
2

Как я могу скопировать массив с другими ассоциативными массивами? Я говорю о наборе результатов, возвращаемом с mysql_fetch_assoc.Создать копию строки результата

Так что у меня есть структура вроде этого ...

connect 
$result = query; 

while ($row = mysql_fetch_assoc($result)) { 

    array_push($static_row, $row); // here lies the problem 

} 

Я хотел бы получить, что $static_row именно в качестве копии $row. В конце концов, я хотел бы поставить этот запрос и в то время как цикл в функции, а просто вернуть $static_row

В качестве эталона 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 
+0

+1 Это еще лучший способ, чем 'array_push'. – Franz

1

Ну, я не совсем уверен, что вы пытаетесь сделать, но похоже, что у вас есть копирование (которое должно работать так же) внутри цикла. Возможно, это твоя проблема.

+0

боже мой ... простите ... сделал немного бух бух там это то, что происходит внутри цикла в то время как ... array_push ($ static_row, $ row); Позвольте мне изменить вещь выше – abhishekbh

+0

@unknown, а затем отредактировать свой вопрос. – Don

+0

вы знаете, что ... nvm ... Я делал очень тупую ошибку, которую я исправил сейчас ... он работает так, как должен – abhishekbh

-1

прямо из php doc page

// Fetching all the results to array with one liner: 
$result = mysql_query(...); 
while(($resultArray[] = mysql_fetch_assoc($result)) || array_pop($resultArray)) 
Смежные вопросы