gpt4 book ai didi

带有 range() 和 foreach 循环的 PHP 数字数组

转载 作者:行者123 更新时间:2023-12-04 05:04:35 29 4
gpt4 key购买 nike

我对 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...);

我做错了什么(又一次??)

编辑我

这是整个脚本:

http://pastebin.com/ZHm3ub6n

它实际上是 simplehtmldom 中包含的 slashdot 抓取示例的稍微修改版本脚本。没什么特别的。

它在 WP 内执行,但在循环外..

最佳答案

它必须在您的其余代码中,因为这可以正常工作。
请分享更多的脚本。

看起来 foreach 嵌套在一个类似的 foreach 中,

 $arts_id = range (900, 920);
foreach ($arts_id as $art_id){
foreach (range (900,$art_id) as $art_id2){
echo $art_id2."<br/>";
}
}

这会产生您所描述的输出

编辑

我个人会添加函数 scraping_slashdot 以重置变量 $ret 以防万一。

例如:
$ret = 数组();

目前 $output 的 echo 在循环内,它会创建如下输出:
Article 1
Article 1, Article 2
Article 1, Article 2, Article 3
etc.

将 echo $output 放在循环之外,或者 $oututut = '';循环内。

关于带有 range() 和 foreach 循环的 PHP 数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15693956/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com