在PHP中创建多维数组

时间:2012-03-21 17:19:55

标签: php

我正在尝试使用

创建一个多维数组
$whole_array=array($case_id1,$case_name1,$case_status1);

(这些是我的代码的变量)

但是当我尝试在循环外部打印该数组时,它只显示最后一个值,因为它在循环中被覆盖。

我知道如何在外部初始化,但我不知道如何在代码中使用该创建的数组而不使用“array”关键字。有人可以用这个来启发我吗?

为方便起见,我附上了代码:

<?php

$case_id1=array();
$case_name1=array();
$case_status1=array();
$case_id2=array();
$case_name2=array();
$case_status2=array();
$case_message1=array();
$case_message2=array();
$whole_array=array($case_id1,$case_name1,$case_status1);

$k=0;
$l=0;

while($k<count($case1) && $l<count($case2))
{
    if($case1[$k]['case_id']==$case2[$l]['case_id'])
    {
        if($case1[$k]['status']<>$case2[$l]['status'])
        {
            $case_id1["case_id"]=$case1[$k]['case_id'];
            $case_name1["case_name"]=$case1[$k]['case_name'];
            $case_status1["case_status"]=$case1[$k]['status'];
            $whole_array=array($case_id1,$case_name1,$case_status1);//PROBLEM
            //var_dump($whole_array);

            if($case1[$k]['status']=='FAILURE' || $case1[$k]['status']=='ERROR')
            {
                $case_message1[]=$case1[$k]['message'];
                //echo $case1[$k]['status']." message ".$case1[$k]['message'];
                //echo "</br>";
                //echo "do";

            }

            $case_id2[]=$case2[$l]['case_id'];
            $case_name2[]=$case1[$l]['case_name'];
            $case_status2[]=$case2[$l]['status'];

            if($case2[$l]['status']=='FAILURE' || $case2[$l]['status']=='ERROR')
            {
                $case_message2[]=$case2[$l]['message'];
                //echo $case2[$l]['status']." message: ".$case2[$l]['message'];
                //echo "</br>";
                //echo "do nothing";

            }
        }

    }
    $k++;
    $l++;
}
/*

    echo "test plan: ".$results_2[$c][$i['test_plan']]['test_plan'];
    echo "</br>";
    echo "result plan id 1: ".$results_1[$c][$i['test_plan']]['result'];
    echo "</br>";
    echo "result plan id 2 : ".$results_2[$c][$i['test_plan']]['result'];
    echo "</br>";
*/

?>

1 个答案:

答案 0 :(得分:1)

您正在寻找array_push()或以下符号:

$whole_array[] = array($case_id1,$case_name1,$case_status1);

array_push($whole_array, array($case_id1,$case_name1,$case_status1));

注意:如果使用array_push()向数组中添加一个元素,最好使用$array[] =,因为这样就不会有调用函数的开销。