,可以通过以下步骤实现:
mysqli_fetch_assoc()
函数从结果集中获取一行数据,并将其存储为关联数组。array_keys()
函数获取关联数组的键名,即动态列名。count()
函数获取动态列名的数量,即动态列数。for
循环遍历动态列名的数量,将每个动态列名作为键名,对应的值设置为从结果集中获取的对应值。以下是一个示例代码:
// 执行查询语句,获取结果集
$query = "SELECT * FROM table_name";
$result = mysqli_query($connection, $query);
// 获取关联数组的键名,即动态列名
$keys = array_keys(mysqli_fetch_assoc($result));
// 获取动态列数
$columnCount = count($keys);
// 创建空的PHP数组
$dynamicArray = array();
// 遍历动态列名的数量,生成PHP数组
for ($i = 0; $i < $columnCount; $i++) {
// 获取当前动态列名
$columnName = $keys[$i];
// 获取当前动态列对应的值
mysqli_data_seek($result, 0); // 将结果集指针重置到第一行
while ($row = mysqli_fetch_assoc($result)) {
$dynamicArray[$columnName][] = $row[$columnName];
}
}
// 打印生成的PHP数组
print_r($dynamicArray);
这样,你就可以从查询的动态列数生成一个包含动态列名和对应值的PHP数组了。
注意:以上示例代码中的$connection
变量需要替换为你自己的数据库连接对象。另外,该示例代码仅适用于查询结果集较小的情况,如果结果集较大,建议使用其他方式进行处理,以避免内存占用过大。
领取专属 10元无门槛券
手把手带您无忧上云