首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php计数,为每个回复运行脚本,直到第三次回复,但不超过这一点

Php计数,为每个回复运行脚本,直到第三次回复,但不超过这一点
EN

Stack Overflow用户
提问于 2015-07-01 05:51:41
回答 1查看 65关注 0票数 0

我有一个论坛,在每次回复后都会显示广告

代码语言:javascript
复制
<?php if( count( $replies ) <= 3 ){ ?>

---- script ----

<?php } ?>  

早些时候,有一个条款,每个论坛帖子最多可以有3个答复,但现在该条款被更改,甚至有5、7或10个回复。

我想修改代码,所以即使有3个以上的回复,脚本也应该在每个回复之后运行,直到前3个回复,而不是从第4个回复开始运行。

我相信数组很可能会被使用

代码语言:javascript
复制
<?php
$replyCount = 0;
foreach( $replies as $reply )
{
$replyCount++;
$replyNumber = array(1, 2, 3);

if (in_array($replyCount, $replyNumber)) {
echo "script";
}
?>

但是-上面的脚本所做的是

它在所有回复中显示脚本。 每次回复后显示脚本3次。

有人能在修改方面提供帮助和建议吗

脚本应在每次回复后运行一次。 脚本应该一直运行到第三次回复,并且不会超过这一点。

请提供帮助和建议

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-01 06:00:10

break;后面添加echo 'script'

你说过:

它在所有回复中显示脚本。 每次回复后显示脚本3次。

这是因为for循环正在执行3次迭代,因为在第一次迭代中,replyCount的值为1,数组中是1吗?是。第二次迭代replyCount值为2等。

编辑:回答您的评论:

代码语言:javascript
复制
<?php 
/* CASE Where number of replies is 3 or less. */
/* Prints "script" 1 extra time than count($replies) */
$counter = 0;
if(count($replies) <= 3) {
    foreach($replies as $reply) {
        if(count($replies) == $counter) {
            break;
        }
        else {
            echo "script";
        }
        $counter++;
    }
}
/* CASE Where number of replies is 4 or more print script 3 times. */
else {
    echo 'script' . '<br />';
    echo 'script' . '<br />';
    echo 'script' . '<br />';
}
?>

请阅读此处张贴的当前代码,然后查看以下案例:

案例1: count($replies) = 0

前级循环启动 第一次IF火灾,什么都不会发生

案例2: count($replies) = 1

前级循环启动 进入else 打印脚本 $counter现在是1 count($replies) == $counter 停止回路 结果是,我们有‘脚本’打印1次。

案例3: count($replies) = 2

前级循环启动 进入else 打印脚本 $counter现在是1 进入else 打印脚本 $counter现在是2岁 count($replies) == $counter 停止回路 结果是,我们已经打印了两次“脚本”。

案例4: count($replies) = 3

前级循环启动 进入else 打印脚本 $counter现在是1 进入else 打印脚本 $counter现在是2岁 进入else 打印脚本 $counter现在3岁了 count($replies) == $counter 停止回路 结果是,我们已经打印了两次“脚本”。

案例5: count($replies) > 3

结果是,我们已经打印了3次“脚本”。

如果您遍历这个foreach循环的迭代,这些就是结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31153458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档