I have a 2d array.
$original_array = array();
// amount / funding_by / withdrawing_by / bank_name_1 / bank_name_2
$original_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "ANZ");
$original_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "BOA");
$original_array[] = array("100","Cash","Bank Deposit", "Chase", "BOA");
$original_array[] = array("100","Bank Deposit","Cash", "Chase", "BOA");
$original_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "JP Morgan");
I'd like to add an additional field (funding_by_to_withdrawing_by) formed by taking the funding_by and withdrawing_by fields, and separating the with "to ". Ie. Bank Deposit to Bank Deposit
Finally I'd like to compress the array, checking if the amount, bank1_name, and bank_2_name all match another row, and if so then appending the original row's funding_by_to_withdrawing_by field with the funding_by_to_withdrawing_by field of the duplicate row.
The duplicate row can then be deleted, so the processed array looks like this:
$processed_array = array();
// amount / funding_by / withdrawing_by / bank_name_1 / bank_name_2 / funding_by_to_withdrawing_by
$processed_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "ANZ", "Bank Deposit to Bank Deposit");
$processed_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "BOA", "Bank Deposit to Bank Deposit, Cash to Bank Deposit, Bank Deposit to Cash");
$processed_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "JP Morgan");
I've tried this, however to be honest I just got more confused, and it doesn't work:
$original_array = array();
// amount / funding_by / withdrawing_by / bank_name_1 / bank_name_2
$original_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "ANZ");
$original_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "BOA");
$original_array[] = array("100","Cash","Bank Deposit", "Chase", "BOA");
$original_array[] = array("100","Bank Deposit","Cash", "Chase", "BOA");
$original_array[] = array("100","Bank Deposit","Bank Deposit", "Chase", "JP Morgan");
$processed_array = array();
foreach($original_array as $submitted_data)
{
foreach($processed_array as $verified_data)
{
if ($submitted_data[0]==$verified_data[0])
{
$duplicate_found = true;
$listoffundingtowithdrawalmethods = "$fundingname to $withdrawalname<br>" . $submitted_data[1] . " to " . $submitted_data[2];
array_push($verified_data, "$listoffundingtowithdrawalmethods");
$processed_array[] = $verified_data;
}
else
{
$duplicate_found = "";
}
}
if ($duplicate_found != true)
{
$listoffundingtowithdrawalmethods = "$fundingname to $withdrawalname<br>";
array_push($submitted_data, "$listoffundingtowithdrawalmethods");
$processed_array[] = $submitted_data;
}
}
However it still isn't quite right.