[英]Create a new array from a multidimensional array by those arrays have same length in php
我有一個多維數組,如下所示-
Array
(
[0] => Array
(
[0] => Account Number
[1] => Account Title
[2] => Account Type
[3] => Currency
[4] => Available Balance
[5] => Ledger Balance
)
[1] => Array
(
[0] => xxxxxxxx YYYYYYY
)
[2] => Array
(
[0] =>
)
[3] => Array
(
[0] => Date
[1] => Description
[2] => Withdrawal
[3] => Deposit
[4] => Balance
)
[4] => Array
(
[0] =>
)
[5] => Array
(
[0] => `30/08/2018
[1] => EXIM 5287609
[2] => -
[3] => 25000.00
[4] => 62672.880
)
[6] => Array
(
[0] => `03/09/2018
[1] => PRIME 9373059
[2] => -
[3] => 191920.00
[4] => 254592.880
)
[7] => Array
(
[0] => `04/09/2018
[1] => RV CLEARING FEE-CHQ 9373059
[2] => 8.70
[3] => -
[4] => 254584.180
)
[8] => Array
(
[0] => `04/09/2018
[1] => VAT AT SOURCE
[2] => 1.30
[3] => -
[4] => 254582.880
)
[9] => Array
(
[0] => `04/09/2018
[1] => ATM WDR AT 4503 13:55:02
[2] => 20000.00
[3] => -
[4] => 234582.880
)
[10] => Array
(
[0] => `08/09/2018
[1] => ATM WDR AT 4504 11:58:19
[2] => 10000.00
[3] => -
[4] => 224582.880
)
[11] => Array
(
[0] => `09/09/2018
[1] => ATM WDR AT 4500 20:05:19
[2] => 40000.00
[3] => -
[4] => 184582.880
)
[12] => Array
(
[0] => `09/09/2018
[1] => ATM WDR AT 4500 20:05:59
[2] => 40000.00
[3] => -
[4] => 144582.880
)
[13] => Array
(
[0] => `09/09/2018
[1] => ATM WDR AT 4500 20:06:37
[2] => 20000.00
[3] => -
[4] => 124582.880
)
[14] => Array
(
[0] => `12/09/2018
[1] => B ASIA 5904486
[2] => -
[3] => 490000.00
[4] => 614582.880
)
[15] => Array
(
[0] => `12/09/2018
[1] => B ASIA 5904486 RETURN
[2] => 490000.00
[3] => -
[4] => 124582.880
)
[16] => Array
(
[0] => `12/09/2018
[1] => RV CLEARING FEE-CHQ 5904486
[2] => 8.70
[3] => -
[4] => 124574.180
)
[17] => Array
(
[0] => `12/09/2018
[1] => VAT AT SOURCE
[2] => 1.30
[3] => -
[4] => 124572.880
)
[18] => Array
(
[0] => `12/09/2018
[1] => ATM WDR AT 4500 12:31:55
[2] => 20000.00
[3] => -
[4] => 104572.880
)
[19] => Array
(
[0] => `13/09/2018
[1] => ATM WDR AT 4503 14:59:28
[2] => 20000.00
[3] => -
[4] => 84572.880
)
[20] => Array
(
[0] => `16/09/2018
[1] => ATM WDR AT 4500 17:10:04
[2] => 10000.00
[3] => -
[4] => 74572.880
)
[21] => Array
(
[0] => `19/09/2018
[1] => B ASIA 5904486
[2] => -
[3] => 490000.00
[4] => 564572.880
)
[22] => Array
(
[0] => `19/09/2018
[1] => ATM WDR AT 4502 16:24:29
[2] => 40000.00
[3] => -
[4] => 524572.880
)
[23] => Array
(
[0] => `19/09/2018
[1] => ATM WDR AT 4502 16:25:12
[2] => 10000.00
[3] => -
[4] => 514572.880
)
[24] => Array
(
[0] => `20/09/2018
[1] => B ASIA 5904486 RETURN
[2] => 490000.00
[3] => -
[4] => 24572.880
)
[25] => Array
(
[0] => `20/09/2018
[1] => RV CLEARING FEE-CHQ 5904486
[2] => 8.70
[3] => -
[4] => 24564.180
)
[26] => Array
(
[0] => `20/09/2018
[1] => VAT AT SOURCE
[2] => 1.30
[3] => -
[4] => 24562.880
)
[27] => Array
(
[0] => `22/09/2018
[1] => ATM WDR AT 4500 14:09:11
[2] => 15000.00
[3] => -
[4] => 9562.880
)
[28] => Array
(
[0] => `24/09/2018
[1] => CASH DEPOSIT
[2] => -
[3] => 100000.00
[4] => 109562.880
)
[29] => Array
(
[0] => `25/09/2018
[1] => EFT TO PRIME BANK LT
[2] => 45000.00
[3] => -
[4] => 64562.880
)
[30] => Array
(
[0] => `26/09/2018
[1] => ATM WDR AT 4503 11:06:25
[2] => 5000.00
[3] => -
[4] => 59562.880
)
)
現在我需要一個如下所示的新數組-
array(
[1] => Array
(
[0] => Date
[1] => Description
[2] => Withdrawal
[3] => Deposit
[4] => Balance
)
[2] => Array
(
[0] => `30/08/2018
[1] => EXIM 5287609
[2] => -
[3] => 25000.00
[4] => 62672.880
)
[3] => Array
(
[0] => `03/09/2018
[1] => PRIME 9373059
[2] => -
[3] => 191920.00
[4] => 254592.880
)
[4] => Array
(
[0] => `04/09/2018
[1] => RV CLEARING FEE-CHQ 9373059
[2] => 8.70
[3] => -
[4] => 254584.180
)
[5] => Array
(
[0] => `04/09/2018
[1] => VAT AT SOURCE
[2] => 1.30
[3] => -
[4] => 254582.880
)
[6] => Array
(
[0] => `04/09/2018
[1] => ATM WDR AT 4503 13:55:02
[2] => 20000.00
[3] => -
[4] => 234582.880
)
[7] => Array
(
[0] => `08/09/2018
[1] => ATM WDR AT 4504 11:58:19
[2] => 10000.00
[3] => -
[4] => 224582.880
)
[8] => Array
(
[0] => `09/09/2018
[1] => ATM WDR AT 4500 20:05:19
[2] => 40000.00
[3] => -
[4] => 184582.880
)
[9] => Array
(
[0] => `09/09/2018
[1] => ATM WDR AT 4500 20:05:59
[2] => 40000.00
[3] => -
[4] => 144582.880
)
[10] => Array
(
[0] => `09/09/2018
[1] => ATM WDR AT 4500 20:06:37
[2] => 20000.00
[3] => -
[4] => 124582.880
)
[11] => Array
(
[0] => `12/09/2018
[1] => B ASIA 5904486
[2] => -
[3] => 490000.00
[4] => 614582.880
)
[12] => Array
(
[0] => `12/09/2018
[1] => B ASIA 5904486 RETURN
[2] => 490000.00
[3] => -
[4] => 124582.880
)
[13] => Array
(
[0] => `12/09/2018
[1] => RV CLEARING FEE-CHQ 5904486
[2] => 8.70
[3] => -
[4] => 124574.180
)
[14] => Array
(
[0] => `12/09/2018
[1] => VAT AT SOURCE
[2] => 1.30
[3] => -
[4] => 124572.880
)
[15] => Array
(
[0] => `12/09/2018
[1] => ATM WDR AT 4500 12:31:55
[2] => 20000.00
[3] => -
[4] => 104572.880
)
[16] => Array
(
[0] => `13/09/2018
[1] => ATM WDR AT 4503 14:59:28
[2] => 20000.00
[3] => -
[4] => 84572.880
)
[17] => Array
(
[0] => `16/09/2018
[1] => ATM WDR AT 4500 17:10:04
[2] => 10000.00
[3] => -
[4] => 74572.880
)
[18] => Array
(
[0] => `19/09/2018
[1] => B ASIA 5904486
[2] => -
[3] => 490000.00
[4] => 564572.880
)
[19] => Array
(
[0] => `19/09/2018
[1] => ATM WDR AT 4502 16:24:29
[2] => 40000.00
[3] => -
[4] => 524572.880
)
[20] => Array
(
[0] => `19/09/2018
[1] => ATM WDR AT 4502 16:25:12
[2] => 10000.00
[3] => -
[4] => 514572.880
)
[21] => Array
(
[0] => `20/09/2018
[1] => B ASIA 5904486 RETURN
[2] => 490000.00
[3] => -
[4] => 24572.880
)
[22] => Array
(
[0] => `20/09/2018
[1] => RV CLEARING FEE-CHQ 5904486
[2] => 8.70
[3] => -
[4] => 24564.180
)
[23] => Array
(
[0] => `20/09/2018
[1] => VAT AT SOURCE
[2] => 1.30
[3] => -
[4] => 24562.880
)
[24] => Array
(
[0] => `22/09/2018
[1] => ATM WDR AT 4500 14:09:11
[2] => 15000.00
[3] => -
[4] => 9562.880
)
[25] => Array
(
[0] => `24/09/2018
[1] => CASH DEPOSIT
[2] => -
[3] => 100000.00
[4] => 109562.880
)
[26] => Array
(
[0] => `25/09/2018
[1] => EFT TO PRIME BANK LT
[2] => 45000.00
[3] => -
[4] => 64562.880
)
[27] => Array
(
[0] => `26/09/2018
[1] => ATM WDR AT 4503 11:06:25
[2] => 5000.00
[3] => -
[4] => 59562.880
)
)
我知道通過使用循環,我可以分離我想要的數組並可以創建一個新數組。 但是沒有任何循環,是否可以通過PHP內置方法創建一個新數組?
提前感謝你們所有人,他們會給我一個很好的解決方案。
注意:- 數組會太長。 這是一個銀行交易數組,所以需要一個快速的方法來在最短的時間內給出輸出。
您可以使用array_filter()
根據它的長度過濾數組
$newArr = array_filter($arr, function($item){
return sizeof($item) == 5;
});
如果您的數組很大並且需要快速方法,請改用foreach
foreach ($arr as $key=>$item)
sizeof($item) != 5 ? unset($arr[$key]) : "";
一次完成所有活動...
$length=count($arr);
for($i=0;$i<$length;$i++){
if(count($arr[$i])==4){
// execute desired process
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.