我正在尝试使用
创建一个多维数组$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>";
*/
?>
答案 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[] =
,因为这样就不会有调用函数的开销。