php - 需要一种读取 20k 值的方法,而不是将它们放在包含 20k 项的数组中
问题描述
$numbers = array( 1, 24, 36, [...], 19999, 20000 );
foreach ($numbers as $nid) {
$node = node_load($nid);
$node->field_fieldname[LANGUAGE_NONE][0]['value'] = 'some value';
field_attach_update('node', $node);
}
我已经编写了上面的代码,我想知道是否有更好的方法来循环这个数组中的大约 20k 个数字。是否可以从文件中读取上述数字,其中每个数字都在自己的行中?或者你会建议什么是适当的 - 最好的方法来处理这个?
解决方案
使用生成器:
function getNumbers($count) {
for ($i = 1; $i <= $count; $i++) {
yield $i;
}
}
foreach (getNumbers(20000) as $number) {
$node = node_load($number);
$node->field_fieldname[LANGUAGE_NONE][0]['value'] = 'some value';
field_attach_update('node', $node);
}
推荐阅读
- php - Ajax不发送数据php
- amazon-web-services - 如何通过选择时间间隔从 DynamoDB 表中导出数据
- pandas - 如何处理过滤数据框中不存在的列
- c# - 在for循环中修改类字段而不创建新实例
- javascript - Deno -> 如何运行代码以无错误地运行?
- javascript - 从函数返回 AJAX 调用的结果
- windows - Julia Interact 小部件没有反应
- html - 联系表格未显示在页脚中
- javascript - React Hooks + Firebase Firestore onSnapshot - 正确使用带有反应钩子的 Firestore 监听器
- elixir - 为什么我的 Elixir 函数返回列表列表?