Php数组_push没有推动另一个数组推送

时间:2015-11-19 16:27:49

标签: php mysql arrays

对于这个愚蠢的问题抱歉,但我遇到了一个奇怪的问题。用于处理php 5.2的代码,但我已经移动到5.5并且它无法正常工作。

无论如何,我试图从数据库中检索数据并推入一个数组。查询显示正确的数据但不在数组中工作。 这是我的代码

$data = array();
$mm = array();
$m = array();
$y = array();
$years = array();
$f = array();
$facts = array();
$i = 0;
$g = array();
$groups = array();
$r = array();
$regions = array();
$import = array();
$imports = array();
$colcount = 0;
$sumunits=0;
$sumvalue=0;
$sumasp=0;



    while($d = mysql_fetch_array($getdata))
    { 

        if($i > 0)
            { 
                    array_push($mm, $month, $units, $value, $asp); 
                    $colcount++;
                    array_push($m, $mm);
                    $mm = array();

                    if($year != $d['data_year'] || $fact != $d['data_fact'] || $region != $d['data_region'] || $importtime != $d['importtime'])
                    {
                        array_push($y, $year, $m);   
                        array_push($years, $y);
                        $m = array();
                        $y = array();
                    }
                    if($fact != $d['data_fact'] || $group != $d['fact_group'] || $region != $d['data_region'] || $importtime != $d['importtime'])
                    { 
                        array_push($f, $factname, $years, $oldlabel, $order); 
                        array_push($facts, $f);
                        $f = array();
                        $years = array();
                        $colcount = 0;
                    }
            }

    $i++;
    }

array_push($mm, $month, $units, $value, $asp);
array_push($m, $mm);
if($year != $d['data_year'])
{
    array_push($y, $year, $m); 
    array_push($years, $y);
    $m = array();
    $y = array();
    $colcount++;
}
if($fact != $d['fact_id'])
{
    array_push($f, $factname, $years, $oldlabel, $order);
    array_push($facts, $f);
    $f = array();
    $years = array();
}

它正在使用php 5.2,但没有在php 5.5上工作,请帮助我们。

谢谢

2 个答案:

答案 0 :(得分:1)

实际上是array_unique无效。 PHP 5.2按字符串排序,而后续版本默认使用常规排序。

$ imports = array_unique($ imports,SORT_REGULAR);

所以sort_regular对我有用:) 谢谢大家的评论

答案 1 :(得分:0)

我认为问题在于您的数据库连接。

从PHP 5.5.0开始,不推荐使用MYSQL

  

自PHP 5.5.0起,此扩展已弃用   从PHP 7.0.0开始删除。相反,要么是mysqli,要么是PDO_MySQL   应该使用扩展名。另请参阅MySQL API概述   选择MySQL API时提供帮助。

     

链接:http://php.net/manual/en/intro.mysql.php

最好使用PDOMYSQLi来提高安全性或可维护性