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

如何在PHP中根据服务器值显示选中的星期几选项

问题分析与修复方案

你的代码核心问题在于数组结构和遍历方式不匹配:

  • 定义的$daysOfWeek是「星期名称为键、数字为值」的关联数组,但你在foreach循环里只获取了值,还错误地尝试以关联数组的方式访问$dataDay['numberDay']和$dataDay['day'],这会导致代码无法正确匹配选中状态。

修正后的代码

PHP数组定义(无需修改,保持原结构即可)

$daysOfWeek = array(
    "Lunedì" => 1,
    "Martedì" => 2,
    "Mercoledì" => 3,
    "Giovedì" => 4,
    "Venerdì" => 5,
    "Sabato" => 6,
    "Domenica" => 7,
);

HTML中的PHP循环部分(关键修改)

<select name="day" class="form-select">
    <?php
    // 遍历数组的键(星期名称)和值(数字)
    foreach ($daysOfWeek as $dayName => $dayNumber) {
        echo "<option";
        // 对比服务器返回的$day和当前循环的数字值
        if ($dayNumber == $day) {
            echo ' selected="selected"';
        }
        echo " value='" . $dayNumber . "'>" . $dayName . "</option>";
    }
    ?>
</select>

修改说明

  • 使用foreach ($daysOfWeek as $dayName => $dayNumber)同时获取数组的键(星期名称)和值(对应数字),避免原代码中只拿到值的问题。
  • 直接用$dayNumber和服务器返回的$day做相等判断,匹配成功则添加selected属性。
  • 输出option时,value设为数字,显示文本为对应的意大利语星期名称,确保和原数组结构对应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:58:19