格式化mysql_fetch_array()的结果,用于array_diff()

时间:2012-02-16 08:28:18

标签: php mysql arrays

我正在尝试重新格式化/重新排序我从mysql_fetch_array()得到的数组结果,以便使用更简单的数组。

在从DB检索结果时,我使用了一个执行此操作的类:

$return = array();
while ($row = mysql_fetch_array($this->query_result, MYSQL_NUM)) {            
    array_push($return, $row);
}

..此函数输出此数组:

Array
(
[0] => Array
    (
        [0] => 2
        [1] => Floral
    )

[1] => Array
    (
        [0] => 5
        [1] => Occasion
    )

)

不知怎的,我想实际输出这个:

Array
(
    [2] => Floral
    [5] => Occasion
)

我无法理解它!救命啊!

4 个答案:

答案 0 :(得分:1)

这将起作用

foreach ($array as $value){
        $result[$value[0]] = $value[1];
}

答案 1 :(得分:1)

试试这个

foreach($return as $result){
        $final[$result[0]] = $result[1];
    }

答案 2 :(得分:1)

也许:

        $rows = array();
        $row = array();

        while($fetch = mysql_fetch_assoc($result)){

            while(list($field, $val) = each($fetch)){

                $row[$field] = $val;

            }//end while

            $rows[] = $row;

        }//end while

        return $rows;

答案 3 :(得分:0)

基本上你需要做的是:

Array[ index ] = value;