@Rick_77

Как выбрать похожие (одинаковые) значения из двух массивов?

Вопрос. Есть два массива.
Первый $array_210

for ($i = 1; $i <= $records; $i++)
{
    $dbf[$i] = dbase_get_record_with_names($open_db210, $i);
    $brr[$i]['lic'] = trim($dbf[$i]['lic']);
    $brr[$i]['add'] = trim($dbf[$i]['add']);
    $brr[$i]['dom'] = trim($dbf[$i]['dom']);
    $brr[$i]['kv'] = trim($dbf[$i]['kv']);

    $lic = $brr[$i]['lic'];
    $adres = trim(iconv('CP1251','UTF-8', $brr[$i]['add']));
    $house = trim(iconv('CP1251','UTF-8', $brr[$i]['dom']));
    $appart = $brr[$i]['kv'];

    $array_210 = array(
            $lic,
            $adres,
            $house,
            $appart
    );
    print_r($array_210);
}


Второй $open_db_novakom

for ($i = 1; $i <= $records; $i++)
{
    $dbf[$i] = dbase_get_record_with_names($open_db_novakom, $i);
    $brr[$i]['NUM'] = trim($dbf[$i]['NUM']);
    $brr[$i]['SUMMA'] = trim($dbf[$i]['SUMMA']);
    $brr[$i]['N_P'] = $dbf[$i]['N_P'];
    $brr[$i]['ADATEOPL'] = trim($dbf[$i]['ADATEOPL']);
    $brr[$i]['NAZN'] = trim($dbf[$i]['NAZN']);

    $number= $brr[$i]['NUM'];
    $sum = $brr[$i]['SUMMA'];
    $descr = $brr[$i]['N_P']; 
    $date = $brr[$i]['ADATEOPL'];
    $nazn = $brr[$i]['NAZN'];

    $open_db_novakom = array(
        $number,
        $sum,
        $descr,
        $date,
        $nazn
    );
    print_r($open_db_novakom);
}


Из массива $open_db_novakom из переменной $number необходимо взять значение и найти его в массиве $array_210 в переменной $lic. И так необходимо перебрать все значения из $open_db_novakom и сравнить со значениями в массиве
$array_210.
Далее все совпадающие значения $number с $lic необходимо записать в файл в файл out.dbf имеющий структуру полей (SUMMA, ADATEOPL, N_P, NUM, add, dom, kv, nazn), т.е. объединить данные найденных значений из 2х массивов $open_db_novakom и $array_210 и записать в файл out.dbf
Спасибо.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Rick_77 Автор вопроса
Сравниваю массивы таким способом.
$array_210 = array($lic, $adres, $house, $appart);
$open_nova = array($number, $sum, $descr, $date, $nazn);
$c = array_intersect($array_210, $open_nova);
foreach ($c as $v)
{
if ($v == $number)
echo $number;
echo $sum;
echo $descr;
echo $date;
echo $nazn;
}
print_r($c);

но результат почему-то NULL
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 08:16
10000 руб./за проект
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект