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

如何在mysqli_fetch_assoc的while循环中提取$row数组字段的前3个字符

你原有代码的$options_available在循环中会被反复赋值,最终只会保留最后一条查询结果的选项内容,如果你需要保存所有选项的前3个字符,可按以下方式实现:

实现方案

使用PHP内置的substr()函数即可完成字符串截取,该函数语法为substr(目标字符串, 起始位置, 截取长度),传入起始位置为0、截取长度为3,即可拿到字符串的前3个字符。如果原字符串长度不足3,函数会直接返回完整的原字符串,无需额外做长度判断。

修改后的代码如下:

$options_economy = "SELECT * FROM options WHERE question_id='$quest_id'";
$run_opt_economy = mysqli_query($conn, $options_economy);

// 初始化空数组存储所有处理后的选项内容
$options_available = [];
while ($row2 = mysqli_fetch_assoc($run_opt_economy)) {
    // 截取前3个字符存入数组
    $options_available[] = substr($row2['options'], 0, 3);
}

如果你不需要留存所有截取结果,仅需要在循环内单次处理每条内容,直接在循环中使用substr($row2['options'], 0, 3)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:45:04