从mysqli结果的不同列中回显不同的列值

时间:2019-05-22 00:38:36

标签: php mysqli

我正在根据在mysql中添加的计划制作计划的比较表。

这是查询

SELECT * 
FROM webhosting 
INNER JOIN webhosting_cat
ON webhosting.cat = webhosting_cat.id
WHERE cat='$cat'

因此,在每个示例中,“虚拟主机”表具有以下列:计划,价格,ssd_space

该mysql查询将返回3个结果,我想选择打印$row['plan'][0]$row['plan'][1]$row['plan'][2]之类的结果

有可能吗?

我使用php 7.3和MariaDB。

1 个答案:

答案 0 :(得分:0)

由于我不确定您将如何使用数据,因此重新整理PHP数据可能是最有益的。

$arr = [[ 'foo' => 1, 'bar' => 1 ], [ 'foo' => 2, 'bar' => 2 ], [ 'foo' => 3, 'bar' => 3 ], [ 'foo' => 4, 'bar' => 4 ], [ 'foo' => 5, 'bar' => 5 ]];
function regroup($arr) {
    return array_reduce($arr, function($acc, $row) {
        foreach($row as $k => $v) $acc[$k][] = $v;
        return $acc;
    }, []);
}
print_r(regroup($arr));

// Array (
//     [foo] => Array
//              (
//             [0] => 1
//             [1] => 2
//             [2] => 3
//             [3] => 4
//             [4] => 5
//         )
//
//     [bar] => Array
//              (
//             [0] => 1
//             [1] => 2
//             [2] => 3
//             [3] => 4
//             [4] => 5
//         )
// )