В.NET, которую цикл выполняет быстрее, 'для' или 'foreach'?

Security Warning: этот ответ не соответствует лучшим рекомендациям по безопасности. Эвакуация неадекватна для предотвращения SQL-инъекции , вместо этого используйте подготовленные операторы . Используйте стратегию, изложенную ниже, на свой страх и риск. (Кроме того, mysql_real_escape_string() был удален в PHP 7.)

Вы могли бы сделать что-то основное:

$safe_variable = mysql_real_escape_string($_POST["user-input"]);
mysql_query("INSERT INTO table (column) VALUES ('" . $safe_variable . "')");

Это не решит каждую проблему, но это очень хороший ступень. Я оставил очевидные элементы, такие как проверка существования переменной, числа (числа, буквы и т. Д.).

320
задан 12 revs, 3 users 67% 13 June 2012 в 06:30
поделиться

31 ответ

Я думаю, что в большинстве случаев это немного быстрее, чем Форач, но это действительно не имеет смысла. Одна вещь, о которой я не упомянул, в сценарии, о котором вы говорите (т.е. веб-приложение большого объема), разница в производительности между for и foreach не будет иметь никакого отношения к производительности сайта. Вы будете ограничены временем запроса/ответа и временем БД, а не для v. foreach.

Тем не менее, я не понимаю вашего отвращения к foreach. На мой взгляд, Форач обычно более понятен в ситуации, когда можно использовать и то, и другое. Обычно я резервирую для ситуаций, когда мне нужно пересечь коллекцию каким-то уродливым, нестандартным способом

.
0
ответ дан 23 November 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: