2017-10-31 11 views
0

にそれぞれ異なる配列値のためのテーブルを作成します。私は、キーSUPPLIER_C上のベースの上に、別々のテーブルに配列データを出力しますループを作成しようとしています私は次の配列持つ特定のキー

Array 
(
[data] => Array 
    (
     [0] => Array 
      (
       [SUPPLIER_C] => 000620 
       [SUPPLIER_NAME] => ASTRA LTD 
       [DATE] => 2017-01-29T22:00:00.0000 
       [INV_NUM] => AGG-81 
       [SERV_CODE] => 0845 
      ) 

     [1] => Array 
      (
       [SUPPLIER_C] => 000620 
       [SUPPLIER_NAME] => ASTRA LTD 
       [DATE] => 2017-02-21T22:00:00.0000 
       [INV_NUM] => AGG-82 
       [SERV_CODE] => 0845 
      ) 

     [2] => Array 
      (
       [SUPPLIER_C] => 000620 
       [SUPPLIER_NAME] => ASTRA LTD 
       [DATE] => 2017-03-27T21:00:00.0000 
       [INV_NUM] => AGG-83 
       [SERV_CODE] => 0845 
      ) 

     [3] => Array 
      (
       [SUPPLIER_C] => 000620 
       [SUPPLIER_NAME] => ASTRA LTD 
       [DATE] => 2017-04-23T21:00:00.0000 
       [INV_NUM] => 65 
       [SERV_CODE] => 0845 
      ) 

     [4] => Array 
      (
       [SUPPLIER_C] => 000620 
       [SUPPLIER_NAME] => ASTRA LTD 
       [DATE] => 2017-05-25T21:00:00.0000 
       [INV_NUM] => 66 
       [SERV_CODE] => 0845 
      ) 

     [5] => Array 
      (
       [SUPPLIER_C] => 000620 
       [SUPPLIER_NAME] => ASTRA LTD 
       [DATE] => 2017-06-25T21:00:00.0000 
       [INV_NUM] => 67 
       [SERV_CODE] => 0845 
      ) 


     [6] => Array 
      (
       [SUPPLIER_C] => 003053 
       [SUPPLIER_NAME] => ECOMM TRADE 
       [DATE] => 2017-01-31T22:00:00.0000 
       [INV_NUM] => 44 
       [SERV_CODE] => 0856 
      ) 

     [7] => Array 
      (
       [SUPPLIER_C] => 003053 
       [SUPPLIER_NAME] => ECOMM TRADE 
       [DATE] => 2017-02-27T22:00:00.0000 
       [INV_NUM] => 47 
       [SERV_CODE] => 0856 
      ) 

     [8] => Array 
      (
       [SUPPLIER_C] => 003053 
       [SUPPLIER_NAME] => ECOMM TRADE 
       [DATE] => 2017-03-30T21:00:00.0000 
       [INV_NUM] => 7 
       [SERV_CODE] => 0856 
      ) 

     [9] => Array 
      (
       [SUPPLIER_C] => 003053 
       [SUPPLIER_NAME] => ECOMM TRADE 
       [DATE] => 2017-04-29T21:00:00.0000 
       [INV_NUM] => 20 
       [SERV_CODE] => 0856 
      ) 


     [10] => Array 
      (
       [SUPPLIER_C] => 004146 
       [SUPPLIER_NAME] => ACTADVICE MANAGEMENT LTD 
       [DATE] => 2017-05-27T21:00:00.0000 
       [INV_NUM] => 14 
       [SERV_CODE] => 9916 
      ) 

     [11] => Array 
      (
       [SUPPLIER_C] => 004146 
       [SUPPLIER_NAME] => ACTADVICE MANAGEMENT LTD 
       [DATE] => 2017-06-25T21:00:00.0000 
       [INV_NUM] => 16 
       [SERV_CODE] => 9916 
      ) 

     [12] => Array 
      (
       [SUPPLIER_C] => 004146 
       [SUPPLIER_NAME] => ACTADVICE MANAGEMENT LTD 
       [DATE] => 2017-06-25T21:00:00.0000 
       [INV_NUM] => 17 
       [SERV_CODE] => 9916 
      ) 

    ) 

だから、一つのテーブルには、キーSUPPLIER_Cは、キーSUPPLIER_Cは003053などでデータのための別のテーブル000620でデータ...

が含まれています

マイコードベローズは、私が望む結果生成しない:

foreach ($suppliers_invoices['data'] as $key=>$invoice) { 
.....table code here... 
} 

プリント上のコードテーブルヘッダと最初の行のみを、再度新たなテーブルを印刷してもキーSUPPLIER_Cではありませんかわった。

ご協力いただければ幸いです。

+2

唯一のキーを持つ配列に配列を分割します。各アレイのテーブルを構築する – splash58

+0

どのようにそれを行うことができますか?コードスニペットを投稿できますか? – user2417624

+0

アレイ全体を繰り返し、必要なキーを確認します。現在の項目をキーで定義された別の配列に追加します。 –

答えて

1
$invoice_by_supplier = []; 
$suppliers = []; 

foreach ($suppliers_invoices['data'] as $invoice) { 
    $supplier_c = $invoice['SUPPLIER_C']; 
    $suppliers[$supplier_c] = $invoice['SUPPLIER_NAME']; 
    $invoice_by_supplier[$supplier_c][] = $invoice; 
} 

foreach ($suppliers as $supplier_c => $supplier_name) { 
    ...table head 

    foreach ($invoice_by_supplier[$supplier_c] as $invoice) { 
    .....table body here... 
    } 

    .. table foot 
} 
関連する問題