2014-04-20 1 views
1

Самое смешное, что я не могу найти хорошее Объяснение для этого вопроса. Есть ли недостаток, когда я не использую «while-loop» для получения результата mysql?Зачем использовать цикл while для получения результатов mysql?

Везде я вижу эту строку кода:

while ($row = mysql_fetch_array($result)) { 
    // do something with $row 
} 

я не уверен, что я когда-либо видел код, который использовал Еогеасп петлю, чтобы получить результаты MySQL.

Так что с другими петлями что-то не так, или это цикл while, который легко и просто использовать для этого?

Я полагаю, что нет проблем с производительностью для регулярного использования с while-loop или foreach-loop с 100-1000 наборами результатов, не так ли?

+2

Причину с петли для вас необходимо знать количество возвращаемых строк с mysql_num_rows, а затем цикл с этим number.While цикла только заканчивается, когда все строки выгружаются. Если вы не хотите использовать цикл, вы можете использовать mysql_fetch_all – Tyranicangel

+2

foreach работает над массивом (или итерируемым объектом); $ result не является ни одной из этих вещей, это ресурс –

+0

А как хорошо, потому что это ресурс. И я не могу использовать foreach или for-loop для получения информации из объекта ресурса? Или это ресурс, а не объект, просто ресурс? – Tipo

ответ

0

Я думаю, ответ таков:.
«Foreach» используется, когда мы хотим перебрать код для каждого элемента массива (Он обрабатывает каждый элемент INAN массива)
«Для» используется, когда мы хотите зацикливать блок кода определенное количество раз.
«While»: используется для прокрутки блока кода, пока выполняется специальное условие.
Я надеюсь, что все ясно, для получения дополнительной информации вы можете посетить этот сайт: http://www.tutorialspoint.com/php/php_loop_types.htm