2016-12-28 4 views
-1

会社名(ABCとXYZ)、ブランチ(それぞれ両社のクチンとシブ)、スタッフ名(両社ともアレイに)。私は初心者です。私が立ち往生しているように助けてください。私のコードに何か問題があります。PHPのforeachループの配列表

<html> 
<style> 
</style> 

<body> 
<?php 

$v_company= array(
    'ABC'=>array('Kuching'=>array('Michael', 'Jenny'), 
       'Sibu'=>array('Sally', 'Muhammad', 'Mutu') 
       ), 
    'XYZ'=>array('Kuching'=>array('Lucy', 'Abdullah'), 
       'Sibu'=>array('John', 'Alicia') 
    ) 
); 




?> 

<table> 

<tr><th>Company's Name</th> 
    <th>Branch</th> 
    <th>Staff's Name</th> 
</tr> 

<?php 

foreach($v_company as $v_company_name=>$v_company_info){ 
    echo "<tr>"; 
    echo "<td>"; 
    echo "$v_company_name <br>"; 
    echo "</td>"; 
    echo "</tr>"; 


    foreach($v_company_info as $v_branch=>$v_staffs){ 

       echo "<td>"; 
       echo "$v_branch <br/>"; 
       echo "</td>"; 


     foreach($v_staffs as $v_staff){ 
       echo "<td>"; 
       echo "$v_staff <br/>"; 
       echo "</td>"; 
      echo "Company: ". $v_company_name. ",Branch: ". $v_branch. ",Staff: " .$v_staff . "<br>"; 
     } 


    } 

} 

?> 
</table> 
</body> 
</html> 
+0

($ v_staffとして$ v_staffs)あなたのより深いforeachの 'のforeachの代わりにこれを試して{エコー「​​を」コーディングハッピー。 implode( "
"、$ v_staff)。 ""; } ' – Bobot

答えて

0

あなたがしたい場合は、貼り付けをコピーすることができ、このコード

<html> 
    <style> 
    </style> 
    <body> 
     <?php 

$v_company= array(
    'ABC'=> 
     array('Kuching'=>array('Michael', 'Jenny'), 
      'Sibu'=>array('Sally', 'Muhammad', 'Mutu') 
       ), 
    'XYZ'=>array('Kuching'=>array('Lucy', 'Abdullah'), 
       'Sibu'=>array('John', 'Alicia') 
    ) 
); 





?> 
<table> 

<tr><th>Company's Name</th> 
    <th>Branch</th> 
    <th>Staff's Name</th> 
</tr> 
<?php 
$company = ''; 
$branch = ''; 
$staff = ''; 
foreach($v_company as $v_company_name=>$v_company_info){ 
    foreach($v_company_info as $v_branch=>$v_staffs){ 
     foreach($v_staffs as $v_staff){ 
       echo "<tr>"; 
        echo "<td>"; 
         if($company == '' || $company != $v_company_name){ 
          $company = $v_company_name; 
          echo "$v_company_name <br>"; 
         } 

        echo "</td>"; 
        echo "<td>"; 
         if($branch != $v_branch){ 
          $branch = $v_branch; 
          echo "$v_branch <br>"; 
         } 

        echo "</td>"; 
        echo "<td>"; 
         echo "$v_staff <br/>"; 
        echo "</td>"; 
       echo "</tr>"; 
     } 
    }  
} 
?> 
</table> 
</body> 
</html> 

を使用することができます。あなたが別の行のすべての従業員を取得するためにこれを使用することができます

+0

うわー、本当にありがとう、私はそれがどのように動作するかを理解しようとするでしょう:) – user7349376

+0

確かに。あなたが最も歓迎している !!! – rahulsm

+0

if($ branch!= $ v_branch){ – user7349376

0

私はあなたのforeachループのエコー値のは、この試す更新:

<?php 

foreach($v_company as $v_company_name=>$v_company_info){ 

     $rowcount = 0;  

    foreach($v_company_info as $v_branch=>$v_staffs){ 

     echo "<tr>"; 
      echo "<td>"; 
       echo ($rowcount == 0)? $v_company_name : ""; 
      echo "</td>"; 

      echo "<td>"; 
      echo "$v_branch <br/>"; 
      echo "</td>"; 

      echo "<td>"; 


     foreach($v_staffs as $v_staff){ 
       echo "$v_staff <br/>"; 
     } 
      echo "</td>"; 
     echo "</tr>"; 
     $rowcount +=1; 
    } 

} 

?> 

が、これは、ご希望の出力ですが?

enter image description here

+0

希望する出力は何ですか、テーブル形式で表示します –

+0

出力画像を更新しました。これは希望の出力ですか?教えてください。 –

+0

私は下の1つの答えに入れて、申し訳ありませんが面倒な – user7349376

0

<html> 
<style> 
</style> 
<body> 
<?php 

$v_company= array(
    'ABC'=>array('Kuching'=>array('Michael', 'Jenny'), 
       'Sibu'=>array('Sally', 'Muhammad', 'Mutu') 
       ), 
    'XYZ'=>array('Kuching'=>array('Lucy', 'Abdullah'), 
       'Sibu'=>array('John', 'Alicia') 
    ) 
); 
?> 

<table border="1" width="100%"> 
<tr><th>Company's Name</th> 
    <th>Branch</th> 
    <th>Staff's Name</th> 
</tr> 
<?php 
foreach($v_company as $v_company_name=>$v_company_info){ 
    foreach($v_company_info as $v_branch=>$v_staffs){ 
     foreach($v_staffs as $v_staff){ 
      echo "<tr>"; 
    echo "<td>"; 
    echo "$v_company_name"; 

       echo "<td>"; 
       echo "$v_branch <br/>"; 
       echo "</td>"; 
       echo "<td>"; 
       echo "$v_staff <br/>"; 
       echo "</td>"; 
      echo "Company: ". $v_company_name. ",Branch: ". $v_branch. ",Staff: " .$v_staff . "<br>"; 
      echo "</td>"; 
    echo "</tr>"; 
     } 
    } 
} 

?> 
</table> 
</body> 
</html>