如何从MySQLi查询结果生成两个独立数组用于展示
解决方案
嘿,这事儿超简单!你已经写对了核心的查询语句,接下来只需要遍历查询返回的结果集,把数据分别填充到目标数组里就行。直接上代码:
// 你的查询语句(保持不变) $query = mysqli_query($con, "SELECT COUNT(id) AS countCnt, country FROM users GROUP BY country ORDER BY COUNT(id) DESC"); // 初始化两个空数组 $country_text = []; $country_count = []; // 遍历结果集,逐个填充数据 while ($row = mysqli_fetch_assoc($query)) { // 将国家名称添加到文本数组 $country_text[] = $row['country']; // 将用户数量转为整数后添加到计数数组(避免字符串类型带来的潜在问题) $country_count[] = (int)$row['countCnt']; }
小细节说明:
- 用
mysqli_fetch_assoc()可以按字段名获取结果,比索引更直观,也避免了字段顺序变动导致的错误; - 把
countCnt强制转成整数(int)是个好习惯,因为数据库返回的计数可能是字符串类型,后续如果做数值计算或图表渲染的话更稳妥; - 如果你的结果集可能为空(比如没有任何用户数据),这两个数组会保持空状态,后续处理的时候可以加个判断避免报错。
这样处理完,$country_text和$country_count就会严格按照你想要的格式存储数据啦,直接拿去做后续操作就行~
内容的提问来源于stack exchange,提问作者user9041892
相关产品推荐
相关产品推荐

