我对 range() 有一个非常奇怪的问题;根据文档:
Create an array containing a range of elements
但是当我这样做时:
foreach (range(900,950,1) as $art_id){
//ob_start();
//do stuff
//do a lot more stuff
echo $art_id;
//ob_get_clean(); }
甚至
$arts_id = range (900, 920);
foreach ($arts_id as $art_id){
//ob_start();
//do stuff
//do a lot more stuff
echo $art_id;
//ob_get_clean(); }
输出奇怪地重复自己在一系列像
"900,900,901,900,901,902,900,901,9002,903,900..."
这意味着它在每个循环之后返回到第一个 ID。
(1st iteration -> 900
2nd iteration -> 900,901
3rd iteration -> 900,901,902
...)
当我只是放置一个手动数组时,它可以完美地按顺序工作并且没有重复:
$arts_id = array(900,901,902,903,904,905,906,907,908,909,910...);
我做错了什么(再次??)
编辑我
这是整个脚本:
它实际上是simplehtmldom脚本中包含的 slashdot 抓取示例的略微修改版本。没什么特别的。
它在 WP 内部但在循环之外执行..