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

如何在while循环内的td标签中正确显示数组内容?

解决PHP数组直接拼接进HTML属性显示为"Array"的问题

我有如下代码:

$result7 = mysqli_query($conn, $sql7);
$resalm = mysqli_query($conn, $contalm);

$p = array();
while($row_alm = mysqli_fetch_array($resalm)) {
  $p[] = $row_alm['nome'];
}

while($rows_cursos7 = mysqli_fetch_array($result7)) {
  $tabela8 .= '<td><button type="button" class="btn btn-info btn-xs" data-toggle="tooltip" data-placement="top" title='.$p.'>'.$rows_cursos7['Almoço'].'</button></td>';
}

问题是:在while循环内使用print_r($p)能正常输出数据库返回的数据,但在按钮的title属性中直接拼接$p时,仅显示“array”字样而非实际数据,请问该如何解决?

问题核心是PHP中直接将数组与字符串拼接时,数组会被强制转换为字符串"Array",必须先把数组转换成可读的字符串格式再进行拼接,以下是几种常用解决方案:

1. 用implode()转成普通分隔字符串

这是最常用的处理方式,把数组元素用指定分隔符(比如逗号、空格)连接成字符串:

// 将数组转为逗号分隔的字符串,可根据需求修改分隔符
$p_str = implode(', ', $p);

while($rows_cursos7 = mysqli_fetch_array($result7)) {
  // 注意给title属性加上双引号,避免元素含空格时截断属性
  $tabela8 .= '<td><button type="button" class="btn btn-info btn-xs" data-toggle="tooltip" data-placement="top" title="'.$p_str.'">'.$rows_cursos7['Almoço'].'</button></td>';
}

2. 用json_encode()转成JSON格式(适合需保留数组结构的场景)

如果后续需要前端JS解析数组内容,可将数组转为JSON字符串:

$p_json = json_encode($p);

while($rows_cursos7 = mysqli_fetch_array($result7)) {
  $tabela8 .= '<td><button type="button" class="btn btn-info btn-xs" data-toggle="tooltip" data-placement="top" title="'.$p_json.'">'.$rows_cursos7['Almoço'].'</button></td>';
}

转换后会得到类似["张三","李四"]的格式,方便前端直接解析使用。

3. 转成HTML格式实现tooltip换行(Bootstrap场景)

如果需要tooltip内换行显示内容,可开启Bootstrap tooltip的HTML支持,用<br>分隔数组元素:

$p_html = implode('<br>', $p);

while($rows_cursos7 = mysqli_fetch_array($result7)) {
  // 加上data-html="true"属性,告知tooltip解析HTML
  $tabela8 .= '<td><button type="button" class="btn btn-info btn-xs" data-toggle="tooltip" data-placement="top" data-html="true" title="'.$p_html.'">'.$rows_cursos7['Almoço'].'</button></td>';
}

同时需要初始化tooltip时开启HTML支持:

$('[data-toggle="tooltip"]').tooltip({
  html: true
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 23:47:18