php - foreach 循环执行一次或执行每一轮
问题描述
我有一个 php 代码。
foreach($db->exec("SELECT * FROM users") as $k => $v) {
# code ...
}
我想知道在foreach循环中,每一轮执行$db->exec("SELECT * FROM users")
代码,还是执行一次并在每一轮中使用它?
如果我的英语不好,我很抱歉:(
解决方案
您的代码就像这样运行,运行一次查询,然后处理结果集中的每一行。
$resultset = $db->exec("SELECT * FROM users");
foreach ( $resultset as $k => $v ) {
# code ...
}
但是,当心。您应该始终检查来自外部操作(如 DBMS 查询)的错误。您编写代码的方式使这变得困难。这是检查错误并在有任何错误时停止程序的粗略方法
$resultset = $db->exec("SELECT * FROM users");
if (!$resultset) {
print_r($db->errorInfo());
die "sql error";
}
else {
foreach ( $resultset as $k => $v ) {
# code ...
}
}
如果您正在创建生产质量的代码,您需要找出比我展示的更好的处理错误的方法:我所拥有的对您的用户来说是粗鲁的,更不用说向网络爬虫提供太多信息了。
推荐阅读
- ruby-on-rails - Capybara 使用 selenium webdriver 测试失败
- python - 无法连接 conda install
- density-plot - 如何在plotnine中做多个密度图
- git - VScode 显示不存在的文件
- mysql - MySQL LEFT JOIN 多个表未正确连接
- python - Keras:如何计算多标签分类的准确率?
- azure-devops - Visual Studio Team Services 工作项字段 - 规则限制
- arrays - 在具有条件的子组中查找重复项
- sqlite - SQLite中的整数主键与rowid
- scala - Spark 中 groupBy 的替代方案