PHP多维数组值作为索引

时间:2014-04-05 22:33:42

标签: php arrays multidimensional-array

除了执行迭代关联数组的实际工作,将值推入新数组并将其设置为等于剩余字段数组之外,是否有一个内置于PHP中的数组函数可以执行类似的操作?

如果是的话,它是什么?

我会改变以下内容:

Array
(
    [0] => Array
        (
            [0] => TEST    //Name (Database column name
            [1] => 12430   //ID (Database column name
            [2] => Y       //Save (Database column name
            [3] => 100    //Wert (Database column name
        )

这样的事情:

Array
(
   [12430] => Array
           (
              [Name] => TEST
              [Save] => Y
              [Wert] => 100
           )

我使用while循环:

....
while( $row = mysql_fetch_assoc($ergebnis) ) {
....
}

2 个答案:

答案 0 :(得分:0)

我认为你将不得不遍历数组。可能有一个函数here可以将代码缩短一行,但我怀疑它会对代码的可读性和效率产生明显的影响。 如果我是你的话,我会遍历数组,非常简短。

$new_array = array();
while( $row = mysql_fetch_assoc($ergebnis) ) {
    $new_array[$row[1]] = $row;
    unset($new_array[$row[1]]);
}

注意 mysql_函数已在PHP中弃用,您应该使用mysqli_或PDO,因为它更稳定和安全。

另外,正如@CBroe所说,mysql_fetch_assoc函数将返回所需结果的第二部分。 PDO中的等价物为$query->fetch(PDO::FETCH_ASSOC);

祝你好运!

答案 1 :(得分:0)

更改您的查询并在结尾处添加GROUP BY ID