У меня есть 2 различных структурированных массива, и мне нужно найти совпадающие и несовпадающие элементы и результат вывода в таблице. Я нашел подходящие элементы, но у меня проблемы с поиском несовпадающих. Первый массив всегда имеет больше элементов, чем второй. Вот некоторые части 2 массивов:
$sheetData = Array
(
[0] => Array
(
[0] => 01008039918
)
[1] => Array
(
[0] => 01008302495
)
[2] => Array
(
[0] => 01008603263
)
[3] => Array
(
[0] => 01008690496
)
[4] => Array
(
[0] => 01008985481
)
[5] => Array
(
[0] => 40020755400
)
[6] => Array
(
[0] => 40032435000
)
[7] => Array
(
[0] => 40231570009
)
[8] => Array
(
[0] => 40309872408
)
[9] => Array
(
[0] => 40311901009
)
[10] => Array
(
[0] => 40353576000
)
$found = Array
(
[0] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40594677009
[EXT_ACCOUNT_ID] => 40594677400
)
[1] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40595693002
[EXT_ACCOUNT_ID] => 40595693400
)
[2] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 01008302495
[EXT_ACCOUNT_ID] => 01008309812
)
[3] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40690651009
[EXT_ACCOUNT_ID] => 40690651404
)
[4] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40625090009
[EXT_ACCOUNT_ID] => 40625090400
)
[5] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40708294009
[EXT_ACCOUNT_ID] => 40708294400
)
[6] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40499752009
[EXT_ACCOUNT_ID] => 40499752404
)
[7] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40604404009
[EXT_ACCOUNT_ID] => 40604404400
)
[8] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40425581009
[EXT_ACCOUNT_ID] => 40425581404
)
[9] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 40440897009
[EXT_ACCOUNT_ID] => 40440897408
)
[10] => Array
(
[INDIVIDUAL_PAYMNET_REFNO] => 01008603263
[EXT_ACCOUNT_ID] => 01008610730
)
Подробнее о желаемом выводе, если элемент из первого массива находится в INDIVIDUAL_PAYMNET_REFNO, соответствующий EXT_ACCOUNT_ID должен отображаться в таблице, затем после всех найденных совпадающих элементов поместить одинпустая строка, тогда, если элемент из первого массива не найден в INDIVIDUAL_PAYMNET_REFNO, просто скопируйте значение в ту же строку таблицы.
Я нашел совпадающие значения, но я не могу понять, как найти несовпадающие элементы после одной пустой строки, яполучая несколько повторяющихся записей и несколько копий из совпадающих записей, это мой код:
echo"<table class=\"table style=\"max-width: 50%; margin: 0 auto;\">
<thead>
<tr>
<th>INDIVIDUAL_PAYMNET_REFNO</th>
<th>EXT_ACCOUNT_ID</th>
</tr>
</thead>
<tbody>";
foreach ($sheetData as $sheet_key => $sheet_data) {
foreach ($found as $found_key => $found_val) {
if ($sheet_data[0] == $found_val['INDIVIDUAL_PAYMNET_REFNO']) {
echo "<tr>";
echo "<td>".$sheet_data[0]."</td>";
echo "<td>".$found_val['EXT_ACCOUNT_ID']."</td>";
echo "</tr>";
}
}
}
echo "<tr>";
echo "<td>"." "."</td>";
echo "<td>"." "."</td>";
echo "</tr>";
foreach ($sheetData as $sheet_key => $sheet_data) {
foreach ($found as $found_key => $found_val) {
if ($sheet_data[0] != $found_val['INDIVIDUAL_PAYMNET_REFNO'] && $found_val['EXT_ACCOUNT_ID'] == $found_val['INDIVIDUAL_PAYMNET_REFNO']) {
echo "<tr>";
echo "<td>".$sheet_data[0]."</td>";
echo "<td>".$sheet_data[0]."</td>";
echo "</tr>";
}
}
}
echo "<tbody>";
echo "</table>";
Любое исправление кода выше приветствуется. Thx.