В общем есть два массива. Массив номеров телефонов и людей.
У массива "люди", есть свойство "ID номера телефона".
У массива "номера телефонов" есть свойство "ID", которое и связано со свойством массива "люди".
Пример PHP кода:
PHP
<!DOCTYPE html>
<html>
<head>
    <title>
    </title>
</head>
<body>
<?php
$peoples = [
        0 => [
            'ID' => '0',
            'PHONE_NUMBER_ID' => '10'
        ],
        1 => [
            'ID' => '1',
            'PHONE_NUMBER_ID' => '9'
        ],
        2 => [
            'ID' => '2',
            'PHONE_NUMBER_ID' => '8'
        ],
        3 => [
            'ID' => '3',
            'PHONE_NUMBER_ID' => '7'
        ],
        4 => [
            'ID' => '4',
            'PHONE_NUMBER_ID' => '6'
        ]
];
$phoneNumbers = [
        0 => [
            'ID' => '6',
            'PHONE' => '79888888886'
        ],
        1 => [
            'ID' => '7',
            'PHONE' => '79888888887'
        ],
        2 => [
            'ID' => '8',
            'PHONE' => '79888888888'
        ],
        3 => [
            'ID' => '9',
            'PHONE' => '79888888889'
        ],
        4 => [
            'ID' => '10',
            'PHONE' => '79888888880'
        ]
];
echo '<table border="1">';
echo '<thead>';
echo '<tr>';
echo '<th>Люди</th>';
echo '<th>Номера телефонов</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';
foreach ($peoples as $peopleProp) {
    echo '<tr>';
    echo '<td>' . $peopleProp['ID'] . '</td>';
    foreach ($phoneNumbers as $pnProps) {
        if ($peopleProp['PHONE_NUMBER_ID'] == $pnProps['ID']) {
            echo '<td>Номер телефона ' . $pnProps['PHONE'] . '</td>';
        } else {
            echo '<td> - </td>';
        }
    }
    echo '</tr>';
}
echo '</tbody>';
echo '</table>';
?>
</body>
</html>
  
Результат:
То есть в моём случае если выведет номер телефона и прочерк. Если ещё третий номер телефона добавить, которые не совпадает по ID ни с одним из массива людей, то выведется три прочерка.
Пробовал break использовать, но если в if поставить, то всё равно else несколько раз сработает пока условие if не выполнится, в else если поставить, то он при первом несовпадении перестанет проходить массив, а у нас дальше по массиву есть совпадение. Если и туда и туда вставить, то опять в случае как с else всё сломается, дальше не пойдёт.