2012-03-21 5 views
1

Я пытаюсь создать мульти двумерный массив с помощьюСоздание mutlidimensional массива в PHP

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

(эти переменные моего кода)

Но когда я пытаюсь напечатать этот массив за пределами цикла он отображает только последнее значение, поскольку оно переписывается в цикле.

Я знаю, как инициализировать снаружи, но я не знаю, как использовать этот созданный массив внутри кода, не используя ключевое слово «массив». Может кто-нибудь, пожалуйста, просветит меня этим?

Я прилагаю код для удобства:

<?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

Можете ли вы избежать использования всего кода и попытаться прикрепить только подходящую деталь? –

ответ

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[] =, потому что таким образом нет накладных расходов на вызов функции.

+0

спасибо, Джош! это сработало –

Смежные вопросы