php - 使用 php 从 mysql 构建多维数组

标签 php mysql multidimensional-array

我正在尝试从 mysql 结果集中形成一个特定的多维数组。

我希望它看起来像这样:

array(
'product_name' => 'prod_1',
'categories' => array(1,2,3,4)
);

数据库结果返回一个看起来像这样的数组

Array
(
[0] => Array
    (
        [id] => 1
        [product_name] => prod_1
    )

[1] => Array
    (
        [id] => 2
        [product_name] => prod_1
    )

[2] => Array
    (
        [id] => 3
        [product_name] => prod_1
    )

[3] => Array
    (
        [id] => 4
        [product_name] => prod_1
    )

如您所见,我想将产品名称分组并将id放入另一个数组

有没有人对如何执行此操作有任何提示?

最佳答案

$yourarray = array(array('id'=>1, 'product_name' => 'prod_1'), array('id'=>2, 'product_name' => 'prod_2'),array('id'=>3, 'product_name' => 'prod_3'));
$multiarray = array();

for($i=0; $i<count($yourarray);$i++){
    $multiarray['product_name'][] = $yourarray[$i]['product_name'];
    $multiarray['product_id'][] = $yourarray[$i]['id'];
}

print_r($yourarray); //original array
print_r($multiarray); //gives you multi array

类似的东西?

你的原始数组:

Array
(
    [0] => Array
        (
            [id] => 1
            [product_name] => prod_1
        )

    [1] => Array
        (
            [id] => 2
            [product_name] => prod_2
        )

    [2] => Array
        (
            [id] => 3
            [product_name] => prod_3
        )

)

结果会打印:

Array
(
    [product_name] => Array
        (
            [0] => prod_1
            [1] => prod_2
            [2] => prod_3
        )

    [product_id] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )
)

关于php - 使用 php 从 mysql 构建多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346567/

相关文章:

java - 如何将 parseInt 数组传递给上一个数组?

php - 使用正则表达式在PHP中下载YouTube视频

php - 为什么 isset($_POST {'variable' ]) 即使数组 $_POST 为空也返回 true?

php - 将用户信息存储到 session 中或在发出请求时直接从 sql 加载它们?

php - 如何从表中选择用于数组的运算符

javascript - Array() 中的 getElementById() 会覆盖数组中的其他元素

f# - F#多维数组类型

php - LEFT 加入在一页中工作,但不在另一页中工作

PHP:在 SQL 中插入时将每个数据放入单引号 (' ' )

php - 使用Zend_Db查询MySQL数据库时出现"Syntax error"