You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP实现随机显示/隐藏文本的简单脚本?

实现PHP文本按访问次数显示/隐藏的方案

嘿,这个需求其实很容易搞定,核心就是要跟踪用户的访问次数,PHP里用Session或者Cookie都能实现,我给你分场景讲清楚:

方案一:用Session实现会话级计数(关闭浏览器重置)

Session是服务器端存储的会话数据,适合只在用户当前浏览会话中计数的场景,代码示例如下:

<?php
// 注意:session_start()必须放在所有输出(包括空格、HTML标签)之前
session_start();

// 初始化访问计数器:第一次访问设为1,之后每次刷新自动+1
if (!isset($_SESSION['visit_count'])) {
    $_SESSION['visit_count'] = 1;
} else {
    $_SESSION['visit_count']++;
}

// 定义需要显示文本的访问次数
$display_times = [1, 2, 5];

// 判断当前次数是否在显示列表中,满足条件就输出文本
if (in_array($_SESSION['visit_count'], $display_times)) {
    echo "HELLO WORLD";
}
// 不在列表里的次数(比如3、4次)会自动无内容输出
?>

代码说明:

  • session_start():启动会话,让PHP能读写Session数据,必须放在最开头,否则会触发报错。
  • $_SESSION['visit_count']:存储用户的访问次数,每次刷新页面都会自动递增。
  • in_array():检查当前访问次数是否在我们指定的显示数组里,符合条件就输出目标文本。

方案二:循环重复显示规律(每5次循环一次)

如果你希望访问次数超过5次后,重复这个显示规律(第6次=第1次,第7次=第2次...),可以用取模运算实现循环:

<?php
session_start();

if (!isset($_SESSION['visit_count'])) {
    $_SESSION['visit_count'] = 1;
} else {
    $_SESSION['visit_count']++;
}

// 定义循环周期为5次
$cycle = 5;
// 计算当前在周期内的位置(比如第6次会得到1,第7次得到2)
$current_cycle_num = ($_SESSION['visit_count'] - 1) % $cycle + 1;

$display_times = [1, 2, 5];
if (in_array($current_cycle_num, $display_times)) {
    echo "HELLO WORLD";
}
?>

方案三:用Cookie实现持久化计数(关闭浏览器不重置)

如果需要让计数在用户关闭浏览器后依然保留,可以用Cookie存储次数,适合长期跟踪的场景:

<?php
// 初始化Cookie计数:没有Cookie就设为1并保存1年,否则次数+1
if (!isset($_COOKIE['visit_count'])) {
    // setcookie(键, 值, 过期时间):这里设置为1年后过期
    setcookie('visit_count', 1, time() + 365 * 24 * 3600);
    $current_count = 1;
} else {
    $current_count = $_COOKIE['visit_count'] + 1;
    setcookie('visit_count', $current_count, time() + 365 * 24 * 3600);
}

$display_times = [1, 2, 5];
if (in_array($current_count, $display_times)) {
    echo "HELLO WORLD";
}
?>

注意事项:

  • Cookie存在客户端,用户可以手动修改,所以如果计数需要严格准确,优先用Session。
  • setcookie()同样需要放在所有输出之前,否则无法生效。

内容的提问来源于stack exchange,提问作者Joe Ronald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:56:53